2

情况:
<el-popconfirm></el-popconfirm>绑定的onConfirm事件在开发环境生效,在生产环境不生效。
相关库版本: vue 2.6.11, element-ui 2.13.0

=======2022年7月8日更新↓
原因:package.json和package-lock.json中element-ui版本不同。
package.json 2.13.0
package-lock.json 2.15.7
(导致了开发环境和生产环境对应的源码版本不同,源码中的事件不同)

开发环境使用的是element-ui 2.13.0(依赖项很久没有更新了),element-ui 2.13.0中el-popconfirm绑定事件为onConfirm。
生产环境编译机每次都要重新npm install,使用的是element-ui 2.15.7, element-ui 2.15.7 el-popconfirm绑定事件为confirm。
=======2022年7月8日更新↑

<el-popconfirm hide-icon title="确定清空吗?" @onConfirm="confirm">
    <el-button slot="reference">清空</el-button>
</el-popconfirm>

↑上面这个写法,开发环境有效,部署到生产环境之后,确认事件失效了

↓使用下面这个写法,生产环境有效,开发环境无效

<el-popconfirm hide-icon title="确定清空吗?" @confirm="confirm">
    <el-button slot="reference">清空</el-button>
</el-popconfirm>

最终,给el-popconfirm同时绑定两个事件(confirm 及 onConfirm)

<el-popconfirm hide-icon title="确定清空吗?" @confirm="confirm" @onConfirm="confirm">
    <el-button slot="reference">清空</el-button>
</el-popconfirm>

===========
2022年7月8日更新,找到了源码版本不同的原因,统一element-ui版本如2.15.7,选择confirm和onConfirm其中之一(2.15.7对应confirm)就好了。

完结

同步更新到自己的语雀
https://www.yuque.com/diracke...


DiracKeeko
125 声望2 粉丝