使用 vuetify 文本字段中的规则更改语言环境时,i18n vue 无法工作

Mat*_*yen 0 vue.js vuetify.js vue-i18n

使用 Vuei18n 和 Vuetify 让我混淆了这一点

这是我的代码(我在行中注意到了奇怪的事情):

<v-form @submit.prevent="login" v-model="valid" ref="form">
  <v-text-field
    prepend-icon="person"
    name="login"
    :label="$t('Login')" <-- This line is still translated automatically
    type="email"
    v-model="email"
    :rules="[v => !!v || $t('E-mail is required')]" <-- This line is not translated automatically
  ></v-text-field>
  ...
</v-form>
Run Code Online (Sandbox Code Playgroud)

如何自动翻译输入表单下的信息?

小智 5

创建一个计算的 emailRules,

computed: {
    emailRules() {
      return [
        v => !!v || $t('E-mail is required')
      ];
    }
  },
Run Code Online (Sandbox Code Playgroud)

然后修改你的行:“v-text-field”中的规则

:rules="emailRules"
Run Code Online (Sandbox Code Playgroud)

  • 不起作用,对我来说唯一的解决方案是重置验证(this.$refs.form.resetValidation()); (3认同)