Ada*_*dam 2 javascript checkbox vue.js
我需要将所选复选框的数量限制为5.我尝试使用:禁用,如下所示:
<ul>
<li v-for="item in providers">
<input type="checkbox"
value="{{item.id}}"
id="{{item.id}}"
v-model="selected_providers"
:disabled="limit_reached"
>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
然后:
new Vue({
el: '#app',
computed:{
limit_reached: function(){
if(this.selected_providers.length > 5){
return true;
}
return false;
}
}
})
Run Code Online (Sandbox Code Playgroud)
这种工作,但当它达到5时,所有复选框都被禁用,你不能取消选中你不想要的复选框.
我也尝试用1毫秒的超时来拼接数组,这有效但感觉很难.有人可以推荐一下吗?
基本上,如果尚未选择输入,则仅禁用输入,并且选择了超过4个输入.
我能想出的最简洁的方法是:
new Vue({
el: '#app',
data: {
inputs: []
}
})
Run Code Online (Sandbox Code Playgroud)
附:
<ul>
<li v-for="n in 10">
<label>
<input
type="checkbox"
v-model="inputs"
:value="n"
:disabled="inputs.length > 4 && inputs.indexOf(n) === -1"
number> Item {{ n }} {{ inputs.indexOf(n) }}
</label>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
这是一个快速演示:https://jsfiddle.net/crswll/axemcp8d/1/
| 归档时间: |
|
| 查看次数: |
4257 次 |
| 最近记录: |