element UI MessageBox 中的inputValidator 校验函数如何改成blur
时间: 2024-02-22 12:58:38 浏览: 138
Element MessageBox弹框的具体使用
5星 · 资源好评率100%
Element UI `MessageBox` 中的 `inputValidator` 校验函数是在用户输入时触发的,而不是在失去焦点时触发的。如果您想要在失去焦点时触发校验函数,可以在 `MessageBox` 中使用 `inputAttrs` 属性来设置输入框的属性,然后监听输入框的 `blur` 事件来触发校验函数。
下面是示例代码:
```javascript
this.$msgbox({
title: '请输入用户名',
message: '请输入您的用户名:',
inputAttrs: {
type: 'text',
blur: this.validateInput // 监听输入框的 blur 事件,并触发校验函数
},
showCancelButton: true,
confirmButtonText: '确定',
cancelButtonText: '取消',
inputValidator: (value) => { // 校验函数
if (!value) {
return '用户名不能为空!';
}
}
}).then((value) => {
console.log('输入的用户名是:' + value);
}).catch(() => {
console.log('取消输入用户名!');
});
```
在上面的代码中,我们在 `inputAttrs` 中设置了 `blur` 属性,并将其绑定到 `validateInput` 方法上。然后,在 `inputValidator` 中定义了校验函数,如果用户名为空,则返回校验失败信息。
当用户在输入框中输入完用户名后,移开焦点时,`validateInput` 方法会被触发,从而触发校验函数。如果校验失败,则会弹出提示框,要求用户重新输入。如果校验成功,则会执行 `then` 中的方法,获取用户输入的用户名。如果用户取消输入,则会执行 `catch` 中的方法,提示用户已取消输入。
阅读全文