记录问题
- <el-input v-model="a_item.C_ISBN" size="medium" type="textarea" placeholder="请填写商品ID,以英文分号';'分割"
- @blur="btKeyUp">el-input>
- //限制输入特殊字符
- btKeyUp(e) {
- e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g,";");
- },
这时候问题出现了,v-html的值并没有改变
原因:js修改时没有触发input事件$emit(‘input’,value)
e.target.dispatchEvent(new Event('input'))
使用方式:
- btKeyUp(e) {
- e.target.value = e.target.value.replace(/[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g,";");
- e.target.dispatchEvent(new Event('input'))
- },
扩展知识点
- //自定义事件
- const inputEvent=new Event('input')
- window.dipatchEvent(inputEvent) //手动触发
- window.addEventListener('input',funciton(){
- })
-
-
- //这种得需要用window对象监听
- dom.dipatchEvent(inputEvent) //手动触发 就这相当vue中$emit('input')
- dom.addEventListener('input',funciton(){
- }) //相当于$on('input')
- //和以上同理。可以搜索一下自定义事件学习一下就明白了