浏览器自动填充input字段的功能通常是由浏览器的自动完成(autocomplete)功能实现的。当用户在输入字段中键入字符时,浏览器会基于之前键入过的值,显示出在字段中填写的选项。
然而功能虽好,但很多情况下都不需要,甚至很影响用户体验感
解决方法(可能的方案)
1、将密码字段的autocomplete属性设置为off,但是多次测试下发现在很多浏览器下并未生效,需要结合其他方法,如下
<elInput name="txtPassword" type="password" autocomplete="new-password" style="display: none" />
<elInput name="txtPassword" type="password" password v-model="form.password" autocomplete="off" placeholder="密码" :show-password="true"></elInput>
2、直接通过js在页面加载完毕后直接将值附空
<elInput name="txtPassword" type="password" password v-model="form.password" autocomplete="off" placeholder="密码" :show-password="true" id="txtPassword"></elInput>
// window.onload = function() {
// document.getElementById('passwordInput').value = '';
// };
setTimeout(() => {
document.getElementById('txtPassword').value = '';
}, 2000)
请注意,以上只是可能的解决方案,并不能保证完全阻止浏览器自动填充密码。因为浏览器的自动完成功能是由浏览器的开发者设置的,所以不同的浏览器可能会有不同的行为