我正在尝试在TS中定义vee-validate configure object,defaultMessage
。我在examples,vee-validate.js
文件中看到了以下代码:
configure({
defaultMessage: (field,values) => {
// override the field name.
values._field_ = i18n.t(`fields.${field}`);
return i18n.t(`validation.${values._rule_}`,values);
}
});
我尝试在TS中转换
const dm: string | ValidationmessageGenerator | undefined =
(field: string,values: Record<string,any>) => {
values._field_ = i18n.t(`fields.${field}`);
return (i18n.t(`validation.${values._rule_}`,values)) as string | ValidationmessageGenerator;
};
configure({
defaultMessage: dm,});
但是,我尝试键入,我总是遇到此错误:
El tipo '(field: string,any>) => ValidationmessageTemplate' no se puede asignar al tipo 'string | ValidationmessageGenerator | undefined'.
El tipo '(field: string,any>) => ValidationmessageTemplate' no se puede asignar al tipo 'ValidationmessageGenerator'.
Los tipos de parámetros 'values' y 'params' no son compatibles.
El tipo 'Record<string,any> | undefined' no se puede asignar al tipo 'Record<string,any>'.
El tipo 'undefined' no se puede asignar al tipo 'Record<string,any>'.ts(2322)
唯一适用于我的配置是设置标志//@ts-ignore
并使用javascript代码有效,但是我想输入它并删除标志
谢谢