vue+elementui+select选择后如果弹框怎样修改为旧值

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

  • select+option中,选择后只能在select标签上添加change事件,option上无法添加事件,但是,change事件一旦触发,select框中的值已经改变。那么要实现在select选择后弹框让用户确认一下是否要选择切换,如果点击了确定则改变,如果点击取消或者关闭那么则不改变select中的值。怎么办?
  • 解决思路:监听select中的v-model绑定的值,watch可以监听到旧值和新值,判断旧值和新值是否相等,然后进行不同的数据处理。有所改变的时候再弹框,如果不改变则不弹框,但是这样处理,在确定改变的时候,如果点击了取消也会进行改变而且会一直弹框,因为点击了取消,此时select框中数值已经改变,如果要恢复,则需要改变v-model绑定的值,但如果是这样,类似于又再次触发了watch中的事件,而且旧值和新值不等,所以会一直弹框。
  • 换个思路,在监听数据变换的生活,只保存数据;在change事件中弹框后在点击事件中如果点击了取消,则将select中的值变回到原先的值。但此时还会有上述问题,所以解决方式就是定义一个变量,整个的过程均由这个变量控制,某些条件下改变变量的值即可选择触发。





转载于:https://my.oschina.net/yxmBetter/blog/1502536

你可能感兴趣的:(vue+elementui+select选择后如果弹框怎样修改为旧值)