最近在做一些小程序的項目,首次使用了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); } },