vue.js有条件地禁止input

我有一个input

<input type="text" id="name" class="form-control" name="name" v-model="form.name" :disabled="validated ? '' : disabled"> 

在我的Vue.js组件中,我确实有,

 .. .. ready() { this.form.name = this.store.name; this.form.validated = this.store.validated; }, .. 

validatedboolean 01 ,但不pipe数据库中存储了什么值,我的input总是被禁用

如果input为false,则需要禁用input,否则可编辑

更新:

这样做总是使input(不pipe我在数据库中有0或1)

 <input type="text" id="name" class="form-control" name="name" v-model="form.name" :disabled="validated ? '' : disabled"> 

这样做总是禁用input(不pipe我在数据库中有0还是1)

 <input type="text" id="name" class="form-control" name="name" v-model="form.name" :disabled="validated ? disabled : ''"> 

要删除禁用的道具,您应该将其值设置为false 。 这需要是false的布尔值,而不是string'false'

因此,如果validated的值是1或0,则有条件地将disabled道具设置为基于该值。 例如:

 <input type="text" :disabled="validated == 1"> 

这是一个例子 。

你可以有一个计算属性返回一个布尔依赖于你需要的任何标准。

 <input type="text" :disabled=isDisabled> 

然后把你的逻辑在一个计算属性…

 computed: { isDisabled() { // evaluate whatever you need to determine disabled here... return this.form.validated; } } 

不难,检查这一点。

 <button @click="disabled = !disabled">Toggle Enable</button> <input type="text" id="name" class="form-control" name="name" v-model="form.name" :disabled="disabled"> 

的jsfiddle