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; }, ..
validated
为boolean
0
或1
,但不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