需求描述
input
的 on-enter
或 on-blur
事件触发时保存文本,文本不能有重复。
问题描述
on-enter
触发之前会先触发 on-blur
导致执行两次保存操作,第二次也就是 on-enter
触发的时候会提示文本重复,保存不成功
。
解决办法
设置一个全局变量 iSave: false
,if(!iSave)
执行保存操作,下次触发编辑文本之前再将 iSave
重置为 false
。
补充
网上还有另一种比较常用的解决办法,就是给 on-blur
事件设置定时器延迟触发。但是 on-blur
到底比 on-enter
早多久触发还要看具体情况,在我这个项目中测试了几次,一般是1-2s偶尔超过2s或低于1s,也会受网络和接口的影响。所以我没有用这种解决办法。
以上。