checkbox与v-for:解决“只显示框,不显示选择文字”

Posted 安之ccy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了checkbox与v-for:解决“只显示框,不显示选择文字”相关的知识,希望对你有一定的参考价值。

正常我们想要的复选框效果是一个框对应一个描述文字:

<div>
    <input type="checkbox" name="test" value="123">123
    <input type="checkbox" name="test" value="456">456
    <input type="checkbox" name="test" value="789">789
</div>

效果:
在这里插入图片描述
问题:
如果v-for直接加在input标签上,如:

<input type="checkbox" name="test" v-for="c in ctType" v-bind:key="c" value="c">{{c}}

相当于只重复展示框,然后渲染变量c,但v-for循环值c无法传递给{{c}},因此效果是这样的:
在这里插入图片描述
解决方案:
可以在input外包裹一层label标签,在label上循环:
ctType:["Vue.js","React.js","Angular.js"]

<label v-for="c in ctType" v-bind:key="c">
    <input type="checkbox" name="ctType" :value="c">{{c}}
</label>

效果:
在这里插入图片描述

以上是关于checkbox与v-for:解决“只显示框,不显示选择文字”的主要内容,如果未能解决你的问题,请参考以下文章

vue实现CheckBox与数组对象绑定

vue中如何获取选中的checkbox的value值

index 定义 v-for 未使用变量 实际是没有 :key="index"

如何解决ListView与CheckBox的冲突问题

vant checkBox 批量删除

checkbox与文字混排无法对齐到一行的解决办法