首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在vue.js中有条件地禁用输入

如何在vue.js中有条件地禁用输入
EN

Stack Overflow用户
提问于 2016-06-29 03:54:37
回答 10查看 450.6K关注 0票数 376

我有一个输入:

在我的Vue.js组件中,我有:

代码语言:javascript
复制
..
..
ready() {
        this.form.name = this.store.name;
        this.form.validated = this.store.validated;
    },
..

成为一个

,它可以是

或者

,但无论数据库中存储了什么值,我的输入始终是禁用的。

如果出现以下情况,我需要禁用输入

,否则应启用并可编辑。

更新:

总是这样做

启用

输入(无论我在数据库中是0还是1):

总是这样做

已禁用

输入(无论我在数据库中是0还是1):

EN

回答 10

Stack Overflow用户

发布于 2017-06-08 06:13:15

您可以有一个计算属性,它根据您需要的任何条件返回一个布尔值。

然后把你的逻辑放在一个计算属性中...

代码语言:javascript
复制
computed: {
  isDisabled() {
    // evaluate whatever you need to determine disabled here...
    return this.form.validated;
  }
}
票数 80
EN

Stack Overflow用户

发布于 2016-12-24 20:31:23

不难,看看这个。

代码语言:javascript
复制
Toggle Enable

jsfiddle

票数 28
EN

Stack Overflow用户

发布于 2017-12-29 00:26:28

disabled属性需要一个布尔值:

请注意,我只检查了

-这应该是这样工作的

...e.g

要格外小心,请尝试:

这种双重否定会将

或者

的价值

或者

或者

不相信我?进入您的控制台并输入

或者

:-)

另外,为了确保你的号码

或者

绝对是一个数字,而不是字符串

或者

将您要检查的值前缀为

例如,这会将一个数字字符串转换为一个数字。

就像David Morrow上面说的,你可以把你的条件逻辑放到一个方法中--这给了你更多

可读性

代码--只要从方法中返回你想要检查的条件即可。

票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38085180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档