vue实时监控输入框输入字数

2017-10-26  本文已影响0人  ytt1224

前端时间做项目中实际遇到的问题,测试提出了在ios上出现的bug,分享给大家!

限制最大长度,500

<textarea  placeholder="内容" v-model="userobjet" maxlength="500" @input="descInput">{{remnant}}/500</textarea>

export default {

data() {

return {

userobjet: '' // textarea内容

},

// 监控输入

descInput() {

let txtVal = this.userobjet.length;

this.remnant = 500 - txtVal;

}

}

到此完成,自测没问题,自信提测,but突然一个bug砸过来。。。。

ios输入文字加表情然后疯狂复制粘贴,数字已经减的变成0了,但是还可以继续复制,数字就变成了负数,安卓是好的,然后排查了下可能是ios输入的表情的长度没算到里面

解决方案添加监控,长度大于设置的数值就设置为0,并截取自己想要的长度,就哦了,然后测试ios也没问题了

watch:{

userobjet(curVal, oldVal){

if (curVal.length >= 500) {

this.remnant = 0

this.userobjet = curVal.substring(0,500)

}

}

}

上一篇下一篇

猜你喜欢

热点阅读