Vue:类型 'Ref<unknown>' 不可分配给类型 'string'.ts(2322)
Vue : Type 'Ref<unknown>' is not assignable to type 'string'.ts(2322)
我正在使用 Vue3、type script、composition 和 vee-validate4 以及 Pinia 一起存储
这是来自的用户注册。
views/register
const schema = yup.object({
email: yup.string().required().email("لطفا ! ایمیل معتبر وارد کنید ."),
password: yup.string().required().min(8, "کلمه عبور باید حداقل هشت کاراکتر باشد ."),
});
const { errors, handleSubmit } = useForm({
validationSchema: schema,
});
const { value: email } = useField('email');
const { value: password } = useField('password');
我这里有一个注册方法
views/register
async function add() {
try {
const res = await useAuthStore().register({email,password})
} catch (err: any) {}
}
但是,这里我有一个 typescript 错误。
我的Pinia店是这样的
actions: {
register( user:ICreateUser) {
return AuthService.create(user).then(
response => {
this.status.loggedIn = false;
return Promise.resolve(response.data);
},
error => {
this.status.loggedIn = false;
return Promise.reject(error);
}
);
}
},
我如何修复 Typescript 错误?
只需将类型添加到 useField
⇒ 看看 https://github.com/logaretm/vee-validate/blob/main/packages/vee-validate/src/useField.ts#L68
尝试类似的东西。
const { value: email } = useField<string>('email')
我正在使用 Vue3、type script、composition 和 vee-validate4 以及 Pinia 一起存储
这是来自的用户注册。
views/register
const schema = yup.object({
email: yup.string().required().email("لطفا ! ایمیل معتبر وارد کنید ."),
password: yup.string().required().min(8, "کلمه عبور باید حداقل هشت کاراکتر باشد ."),
});
const { errors, handleSubmit } = useForm({
validationSchema: schema,
});
const { value: email } = useField('email');
const { value: password } = useField('password');
我这里有一个注册方法
views/register
async function add() {
try {
const res = await useAuthStore().register({email,password})
} catch (err: any) {}
}
但是,这里我有一个 typescript 错误。
我的Pinia店是这样的
actions: {
register( user:ICreateUser) {
return AuthService.create(user).then(
response => {
this.status.loggedIn = false;
return Promise.resolve(response.data);
},
error => {
this.status.loggedIn = false;
return Promise.reject(error);
}
);
}
},
我如何修复 Typescript 错误?
只需将类型添加到 useField
⇒ 看看 https://github.com/logaretm/vee-validate/blob/main/packages/vee-validate/src/useField.ts#L68
尝试类似的东西。
const { value: email } = useField<string>('email')