vue 用checkbox 做多选,带选中样式

<dl v-for="(item,index) in listData" :key="index">
                testName
                <label>
                    <input type="checkbox" v-model="checkedVal" :value="item">
                    <span>
                        <i class="iconfont no icon-hook-round"></i>
                        <i class="iconfont yes icon-hook-round"></i>
                    </span>
                </label>
            </dl>

// ...
data() {
return { checkedVal: [], listData: [a,b,c,d] } },
//...
<style lang="less" scoped> label { // border: 1px solid blue; position: absolute; top: 0; right: 0; bottom: 0; left: 0;
          // flex 布局可参考: http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html display: flex; align
-items: center; justify-content: flex-end; padding-right: 15px; input { display: none; &+span { >i { font-size: 22px; &.no { color: #ddd; } &.yes { color: #008cee; display: none; } } } &:checked+span { >i { &.no { display: none; } &.yes { display: inline-block; } } } } } </style>

  

 

如图效果

 

 

posted @ 2018-07-20 00:50  James2019  阅读(4503)  评论(0编辑  收藏  举报