vue输入框组件,去文字页面不刷新的问题
由于多层的组件嵌套,在输入框去文字的时候,使用监听的方式监听v-model绑定的数据。进行去文字处理,使页面看上去是无法输入文字的。
但是v-model所绑定的数据去文字更新之后和之前是一样的,比如 一开始是aaa
,再输入一个文字一
,去文字之后还是aaa
,所以这个数据相当于没变,没有更新视图,导致页面上的文字仍然在。
这里的解决方法是,先把文字换成空格,然后使用$nextTick在视图更新之后再把空格去掉。
// An highlighted block
'data.TaxNo':{
handler(val){
val=val.replace(/[^\w_]/g,' ');
this.data.TaxNo=val
this.$nextTick(()=>{
val=val.replace(' ','');
this.data.TaxNo=val
})
}
}
这个方法虽然憨了一点,但视觉的效果是ok的