美文网首页
vue中,选中多个选项,并且使其高亮

vue中,选中多个选项,并且使其高亮

作者: MiSiTeWang | 来源:发表于2019-08-15 10:23 被阅读0次

    在vue中很常见的就是tab切换,选项卡切换,动态添加类名使选项卡选中高亮,对应内容切换,方法大家应该非常熟悉了,
    现在提到一种,可以多选多个选项的,效果如下图


    20190227195309696.png
    贴上代码
    <div class="zxlybox">
        <p>请选择领域 <span>(可多选)</span></p>
        <ul>
            <li class="zxlybtn" :class="{zxlybtn2:chooseAfterValue.indexOf( item.text )!=-1}" v-for="(item,index) in lyList" :key="index" @click="choosely(index,item.text)">
                <span>{{item.text}}</span>
                <img v-if="chooseAfterValue.indexOf( item.text )!=-1" src="../../../static/img/close.png" alt="">
            </li>
        </ul>
        <p class="btn"><span @click="xzly">取消</span><span @click="sure">确定</span></p>
    </div>
    
    export default {
        name:'enter',
        data(){
            return{
                lyList:[
                    {text:'绘画'},
                    {text:'书法'},
                    {text:'陶瓷'},
                    {text:'紫砂'},
                    {text:'玉石'},
                    {text:'金属'},
                    {text:'雕塑'},
                    {text:'宗教'},
                    {text:'文玩'},
                    {text:'非遗'},
                    {text:'杂项'},
                ],
                chooseAfterValue:[],
             }
         },
         methods:{
            choosely(n,value){
                    if(this.chooseAfterValue.indexOf( value )!=-1){
                        this.chooseAfterValue.splice( this.chooseAfterValue.indexOf( value ), 1 )
                    }else{
                        this.chooseAfterValue.push(value)
                    }
                },
         }
    }
    

    方法中 用到了indexOf 根据value 内容值,找到了对应在数组中的下标, (等于-1数组中没有这个值)
    然后,从数组中删除就是splice(从下标开始,删除长度为1)

    而上边动态添加类名也是根据在数组中判断 arr.indexOf(‘xxx’) 是否为-1 (是-1, 说明数组中没有匹配到改内容(动态添加类名的条件判断为false),反之亦然)

    啦啦啦 好啦,这样效果就实现了~

    ---------------------

    版权声明:本文为CSDN博主「干了这碗小米汤儿」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/MtangEr/article/details/87988510

    相关文章

      网友评论

          本文标题:vue中,选中多个选项,并且使其高亮

          本文链接:https://www.haomeiwen.com/subject/zspajctx.html