首页 > 解决方案 > 当我关闭表单对话框并重新打开时,表单仍然是红色且未初始化。

问题描述

我用 vuetify 写了一个这样的表格。

   <v-form>
          <v-text-field
            autocomplete="off"
            v-model="model.password"
            :label="formschema.password.label"
            :rules="[rules.required, rules.min]"
            :append-icon="formschema.password.show ? 'mdi-eye' : 'mdi-eye-off'"
            @click:append="formschema.password.show = !formschema.password.show"
            :type="formschema.password.show ? 'text' : 'password'"
            required
          ></v-text-field>
          <v-text-field
            autocomplete="off"
            v-model="model.newpassword"
            :label="formschema.newpassword.label"
            :rules="[rules.required, rules.min]"
            :type="formschema.newpassword.show ? 'text' : 'password'"
            :append-icon="
              formschema.newpassword.show ? 'mdi-eye' : 'mdi-eye-off'
            "
            @click:append="
              formschema.newpassword.show = !formschema.newpassword.show
            "
            required
          ></v-text-field>
          <v-text-field
            autocomplete="off"
            v-model="model.comfirmpassword"
            :label="formschema.comfirmpassword.label"
            :rules="[rules.required, rules.min]"
            :append-icon="
              formschema.comfirmpassword.show ? 'mdi-eye' : 'mdi-eye-off'
            "
            @click:append="
              formschema.comfirmpassword.show = !formschema.comfirmpassword.show
            "
            :type="formschema.comfirmpassword.show ? 'text' : 'password'"
            required
          ></v-text-field>
        </v-form>

当我关闭它时(表单在对话框中),我清理数据,但是当我重新打开它时,它会返回错误:

"TypeError: Cannot read property 'length' of null"

请帮助我。我怎样才能重置表单数据但没有收到错误?

我清理我的表单只是让模型绑定到表单的 items = 默认模型。如:

this.model = this.defaultmodel

标签: vue.jsvuetify.js

解决方案


我想这就是你要找的:

https://vuetifyjs.com/en/components/forms/#validation-with-submit-clear

this.$refs.form.resetValidation()关闭对话框后,您基本上必须打电话。


推荐阅读