data() {
let serialno = (rule, value, callback) => {
if (!value) return callback(new Error('序列号不能为空'))
if (value.length > 50) return callback(new Error('序列号最多50个字符'))
this.checkSerialno(value, callback)
// 在此处将callback传到验证方法中
}
return {
rules: {
serialno: { validator: serialno, trigger: 'blur, change' }
}
}
}
methods: {
// 序列号重复校验
checkSerialno(serialno, callback) { // 此方法不能用async,原因未知
fetchCheckSerialno({ serialno }).then(res => {
if (!res.flag) return callback(new Error('序列号验证失败'))
if (!res.data) return callback(new Error('序列号重复'))
callback()
})
}
}