typescript - Vue : Type 'Ref' kan ikke tildeles typen 'string'.ts(2322)


Jeg bruker Vue3, TypeScript, composition, vee-validate4 og Pinia-butikken alle sammen

dette er brukerregistrering fra.

visninger/registrer

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');

og jeg har en metode her for registrering

visninger/registrer

async function add() {
  try {
    const res = await useAuthStore().register({email,password})
      } catch (err: any) {}
}

Men her har jeg en typescript-feil.

og min Pinia-butikk er slik

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);
        }
      );
    }
},

Hvordan kan jeg fikse Typescript-feil?

Svar #1

Bare legg til type på useField ⇒ ta en titt på useField.ts#L76

Prøv noe som.

const { value: email } = useField<string>('email')

Relaterte artikler