问题描述: 在使用Angular 8时,当尝试将AsyncValidatorFn分配给FormControl时,出现错误“不可分配给AsyncValidatorFn”。
解决方法:
import { FormControl, AsyncValidatorFn } from '@angular/forms';
const myAsyncValidator: AsyncValidatorFn = (control: FormControl) => {
return new Promise(resolve => {
// 执行异步验证逻辑
// 如果验证通过,使用 resolve(null) 返回空
// 如果验证不通过,使用 resolve({ invalid: true }) 返回验证错误对象
});
};
const myControl = new FormControl('', null, myAsyncValidator);
这样,你就可以将AsyncValidatorFn分配给FormControl并使用它进行异步验证。确保在myAsyncValidator函数中实现自己的异步验证逻辑,并根据验证结果使用resolve返回相应的值。