最近在做一些小程序的項目,首次使用了uniapp;在使用input標簽時發現輸入框的各種問題,特別是密碼輸入框和number類型不能復用的問題很是頭疼;
網上關於此類問題,都是讓監聽input事件,包括官方回答也是如此,進行正則驗證;但是並沒有很好的效果;
經過多次嘗試,發現只需要在watch中對變量進行判斷就可以,不需要監聽任何事件;
把最終的解決方法記錄一下:
password(val, oldval) {
let num = val.charAt(val.length - 1);
var reg = new RegExp("^[0-9]*$");
if (!reg.test(num)) {
setTimeout(() => {
this.password = val.slice(0, -1);
}, 0);
} else {
setTimeout(() => {
this.password = val;
}, 0);
}
},
