如何在 Vue Composition API 中使用 ref 验证表单

Phi*_*ski 5 vue.js vuetify.js vuejs3 vue-composition-api

使用Options API,我像这样验证了我的表单:

模板:

<v-form ref="form" v-model="valid" lazy-validation @submit.prevent>
...
Run Code Online (Sandbox Code Playgroud)

脚本:

methods: {
  validate() {
    this.$refs.form.validate();
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

现在,使用 new Composition API,我如何调用validate()表单?

ton*_*y19 5

首先,通过声明与模板中ref使用的名称相同的a 来设置模板引用(1??)。然后,validate从你的setup()(2??)返回一个方法:

<template>
  <v-form ref="myForm">...</v-form>
</template>

<script>
import { ref } from '@vue/composition-api'

export default {
  setup() {
    const myForm = ref(null)  // 1??

    return {
      myForm, // 1??

      validate() { // 2??
        myForm.value.validate()
      },
    }
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

使用 Vue Composition API 编辑绑定方法