Open lengziyu opened 4 years ago
可以用捕获事件来解决 https://codepen.io/xiaohai/pen/bGRLzpQ
Vue.directive('numberAmount', {
bind: function(el) {
el.handler = function() {
el.value = (el.value.match(/^\d*(\.?\d{0,2})/g)[0]) || null;
}
el.addEventListener('input', el.handler, true);
},
});
例如全局设置了这么一条自定义指令,限制输入框只能输入小数点两位的数字。
当页面有两个输入框使用这个指令时。
发小数点删除或新增会影响另一个输入框的值。
解决方法
v-model
改用:value
,再加个输入事件@input
,延迟一下修改值。