vue避免dom操作,标签多选功能

实用场景: 

 

<div class="goodsClassify clearfix">
  <span class="goodsSpan fl"><i class="warnImg"></i>商品分类:</span>
   <ul class="classifyList fl">
       <li class="label" 
            :class="{labelSelected:chooseAfterValue.indexOf(index)!=-1}" 
            v-for="(item,index) in goodsList" :key="index" 
            @click="selectionLabel(index)">
               <p>家居行业</p>
               <a class='deselection'>×</a>
       </li>
   </ul>
</div>
export default {
  data() {
    return {
      goodsList:[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
      chooseAfterValue:[]
      }
   },
  methods: {
    // 选择商品分类
    selectionLabel(value){
      if(this.chooseAfterValue.indexOf( value )!=-1){
            //已选择此标签,再点击时删除数组中的此项,至少有一个标签才能删除
          if(this.chooseAfterValue.length>1){
              this.chooseAfterValue.splice( this.chooseAfterValue.indexOf( value ), 1 )
          }else{
            this.$message({
                message: '至少选择1个商品分类!',
                type: 'warning'
              });
          }
        }else{
          if(this.chooseAfterValue.length<3){
            //未选择此标签,点击时数组中添加此项
            this.chooseAfterValue.push(value)
          }else{
           this.$message({
                message: '最多选择3个商品分类!',
                type: 'warning'
              });
          }
        }
    }
}

//确定的时候将this.chooseAfterValue传给后台

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值