Я использую Vue3, набираю скрипт, композицию и vee-validate4, а Pinia хранит все вместе.
это регистрация пользователя из.
просмотры/регистрация
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');
и у меня есть метод для регистрации
просмотры/регистрация
async function add() {
try {
const res = await useAuthStore().register({email,password})
} catch (err: any) {}
}
Но здесь у меня ошибка машинопись.
а мой Пиния магазин такой
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')
@kevin Ref<string> означает, что вы должны передать email.value, а просто email на register; register({ email: email.value, password: password.value }).
теперь он говорит, что тип 'Ref<string>' не может быть назначен типу 'string'.ts(2322)