Vue实现多选、单选的样式切换

样式切换在实际项目应用中,也是非常常用的,这里就说一下在vue框架中多选和单选的实现。

css选中样式

.active{
   color:red
}

多选

      <li class="select"
          v-for="(item,index) in leftnav"
          :class="{active:item.active}"
          @click="ClickActive(item,index)"
      >{{item.name}}
      </li>
    data() {
      return {
        leftnav: [
          {name: '首页'},
          {name: '它的'},
          {name: '你的'}
        ],
      }
    },
    methods:{
      ClickActive(item,index){
        if(item.active){
          Vue.set(item,'active',false)  //为item添加不存在的属性,需要使用vue提供的Vue.set( object, key, value )方法
        }else{
          Vue.set(item,'active',true)
        }
      }
    }

//Vue.set(object, key, value)
//object:要更改的数据源(可以是对象或者数组)
//key:要更改的具体数据
//value:重新赋的值

单选

      <li class="select"
          v-for="(item,index) in leftnav"
          :class="{active:index == isA }"
          @click="ClickActive(index)"
      >{{item.name}}
      </li>
data() {
      return {
        leftnav: [
          {name: '首页'},
          {name: '它的'},
          {name: '你的'}
        ],
        isA:0  //初始化第一个高亮
      }
    },
    methods:{
      ClickActive(index){
           this.isA = index
      }
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 专业考题类型管理运行工作负责人一般作业考题内容选项A选项B选项C选项D选项E选项F正确答案 变电单选GYSZ本规程...
    小白兔去钓鱼阅读 12,992评论 0 13
  • 最近有种很不顺心的感觉,略微带点焦虑,我把根源归结为自己学习状态的烦恼。 表面上,我觉得自己算是爱学习的人。这些年...
    木春先生阅读 3,146评论 1 1
  • 孙晨阳1994.6.13
    磊磊18阅读 1,430评论 0 0