【问题标题】:vue reactivity issue with :disabledvue 反应性问题:禁用
【发布时间】:2019-02-28 13:20:34
【问题描述】:

我有一个带有计算有界 isDisabled 方法的按钮

<button :disabled="isDisabled"
        @click="saveMember"
        type="button"
        class="btn btn-primary mr-1">Invite
</button>

computed: {
  isDisabled() {
    return !this.emailValid || this.savingUser
  }
}

然后我有一个更新 emailValid 字段的方法。

methods: {
  validateEmail() {
    .......
    this.emailValid = true

当我追踪状况时,它给了我错误

{{ !emailValid || savingUser  }} //false

但我的按钮仍然被禁用。

我已尝试添加密钥

<button :disabled="isDisabled"
    @click="saveMember"
    type="button"
    class="btn btn-primary mr-1"
    :key="`${this.member.email}`">Invite
</button>

但还是不行。

【问题讨论】:

  • inDisabled 中的 console.log('isDisabled',this.emailValid,this.savingUser,!this.emailValid || this.savingUser)(或类似的)应该可以帮助您确定这一点
  • :key="`${this.member.email}`" 也可以通过:key="member.email" 完成更简单

标签: vue.js


【解决方案1】:

您不要在模板标签中使用this 关键字。

试试

{{ !emailValid || savingUser  }}

编辑:另外,saveMember 是一种方法吗?您应该在 @click 监听器中将其称为 saveMember()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2021-07-08
    • 2019-07-08
    • 2020-05-22
    • 2021-07-11
    • 2019-04-02
    • 2021-10-23
    相关资源
    最近更新 更多