zoukankan      html  css  js  c++  java
  • 实现v-for遍历出来的 元素的 单选 和 多选

    <template>
      <div class="home">
        <div class="box">
          <ul>
            <li 
             :class="{active: (isActive &&  currentIndex == index) || (MultiSelect && selectList.indexOf(list[index]) !=-1) }" 
            class="label" 
            v-for="(data,index) in list" 
            :key="index"
            @click="select(index)">{{data}}</li>
          </ul>
        </div>
      </div>
    </template>
    
    <script>
    import { reactive,ref } from '@vue/reactivity'
    // @ is an alias to /src
    
    export default {
      name: 'Home',
      setup(){
        const list = reactive(['xh','xm','dh','ypp'])
        const isActive = ref(false) // 是否选中
        const MultiSelect = ref(false) //是否多选
        const currentIndex = ref(null) // 当前索引的对比值
        const selectList = reactive([]) //多选的判断
        const select = (index) => {
          if(MultiSelect.value){
            if(selectList.indexOf(list[index]) == -1){
              selectList.push(list[index])
              console.log(selectList)
            }else {
              console.log(selectList.indexOf(list[index]))
              selectList.splice(selectList.indexOf(list[index]),1)
            }
    
          }else {
            //单选
            // isActive.value = true
            if(currentIndex.value == index) isActive.value = ! isActive.value
            else{
              currentIndex.value = index
              isActive.value = true
            }
           
          }
        }
        return {
          list,
          isActive,
          MultiSelect,
          currentIndex,
          selectList,
          select
        }
      }
    }
    </script>
    <style lang="stylus">
      .label {
        display inline-block
        border solid #ccc 1px
        border-radius .5rem
        padding 2rem 3rem
        margin-left 2rem
        list-style none
      }
      .active {
        background rgba(200,10,230,.3)
        color yellow
      }
    </style>
  • 相关阅读:
    Scala学习笔记--集合类型Queue,Set
    Hadoop学习笔记-HDFS命令
    Spark添加/更改集群节点需要修改的配置文件
    Spark学习笔记-如何运行wordcount(使用jar包)
    Scala学习文档-列表的使用
    Python yaml 使用的包
    Python 通过命令行安装包的时候 pip 提示错误
    Python 注释
    Python 关键字
    Python 数据类型
  • 原文地址:https://www.cnblogs.com/diligent-noob/p/15173100.html
Copyright © 2011-2022 走看看