0

我刚开始使用 VueJS。我使用 Quasar 框架,其输入组件提供错误状态

<q-field :error="error" error-label="Oh buggers! You made a boo boo.">
   <q-input v-model="text" float-label="Colored with Error" color="amber"  />
</q-field>

我使用Validate检查表单中的多个输入,并且我想error-label将错误文本的上下文化和本地化版本作为值返回。

使用 Blaze,我会使用带参数的助手,例如error-label="{{getError 'email'}}",看起来像这样(未经测试的代码):

  getError(input) {
    let firstError = ""
    _.each(this.$v[input], function(validator) {
      if (!validator) { // eg. validator = 'required'
        firstError = i18n.__('input_error' + validator, {
          input
        }) // eg. firstError = 'The email field is required'
        break
      }
    })
    return firstError
  },

我不确定在 VueJS 中执行此操作的正确方法。我注意到 v-bind 指令可以接受参数,但我不知道如何(文档在没有示例的情况下提到它)也不知道它是否是正确的方法。

4

1 回答 1

1

根据 Quasar framework docs error-labelis prop ,您可以像这样编写绑定:

:error-label="getError('email')"
于 2018-08-06T06:38:02.273 回答