最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

VUE如何實(shí)現(xiàn)點(diǎn)擊文字添加顏色(動態(tài)修改class)

 更新時間:2023年11月16日 09:38:36   作者:前端李小白  
這篇文章主要介紹了VUE如何實(shí)現(xiàn)點(diǎn)擊文字添加顏色(動態(tài)修改class),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

vue點(diǎn)擊文字添加顏色(動態(tài)修改class)

實(shí)現(xiàn)的原理很簡單,只需要動態(tài)綁定一個class就可以了,現(xiàn)在分別列出三種情況

1.點(diǎn)擊文字顏色改變

再次點(diǎn)擊,點(diǎn)擊的顏色改變,之前的顏色變回原來的顏色

代碼如下:

<template>
  <div class="list2">
    <ul>
      <li
        v-for="(item,index) in List"
        :key="index"
        :class="{activeColor:colorIndex===index}"
        @click="changeColor(item,index)"
      >
        <span>{{item.name}}</span>
      </li>
    </ul>
  </div>
</template>

<script>
export default {
  name: "list",
  components: {},
  data() {
    return {
      List: [
        { name: "總的" },
        { name: "部分1" },
        { name: "部分2" },
        { name: "部分3" }
      ],
      colorIndex: -1
    };
  },
  mounted() {},
  methods: {
    changeColor(item, index) {
      this.colorIndex = index;
    }
  }
};
</script>

<style lang="less" scoped>
.list2 {
  width: 100px;
  ul {
    list-style: none;
    .activeColor {
      background-color: #f6fbff;
      color: #298adb;
    }
    li {
      cursor: pointer;
    }
  }
}
</style>

效果如下,當(dāng)我點(diǎn)擊其中某一個文字的時候,字體的顏色就改變了

2.如果需要點(diǎn)擊多個變顏色的話

再次點(diǎn)擊取消的話,我是這樣做的,給data里面的對象添加一個屬性,全部設(shè)置為false,然后點(diǎn)擊的時候設(shè)置為true,

代碼如下:

<template>
  <div class="list2">
    <ul>
      <li
        v-for="(item,index) in List"
        :key="index"
        :class="{activeColor:item.active}"
        @click="changeColor(item,index)"
      >
        <span>{{item.name}}</span>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  name: "list",
  components: {},
  data() {
    return {
      List: [
        { name: "總的" },
        { name: "部分1" },
        { name: "部分2" },
        { name: "部分3" }
      ],
      colorIndex: -1
    };
  },
  mounted() {
      this.addActive()
  },
  methods: {
      /*給List的每一個對象添加active屬性,需要用到this.$set('對象','鍵值','value') */
      addActive(){
        this.List.forEach(item=>{
            this.$set(item,'active',false)
        })
      },
    changeColor(item, index) {
      if(!item.active){
         item.active = true
      } else {
          item.active = false
      }
    }
  }
};
</script>
<style lang="less" scoped>
.list2 {
  width: 100px;
  ul {
    list-style: none;
    .activeColor {
      background-color: #f6fbff;
      color: #298adb;
    }
    li {
      cursor: pointer;
    }
  }
}
</style>

效果如下:點(diǎn)擊多個文字可以改變樣式,再次點(diǎn)擊可以取消

3.有時候我們要是有個‘總的’

那個點(diǎn)擊‘總的’,就不能有部分的存在了,點(diǎn)擊部分就不能有‘總的’存在

代碼如下:

<template>
  <div class="list2">
    <ul>
      <li
        v-for="(item,index) in List"
        :key="index"
        :class="{activeColor:item.active}"
        @click="changeColor(item,index)"
      >
        <span>{{item.name}}</span>
      </li>
    </ul>
  </div>
</template>
<script>
export default {
  name: "list",
  components: {},
  data() {
    return {
      List: [
        { name: "總的" },
        { name: "部分1" },
        { name: "部分2" },
        { name: "部分3" }
      ],
      colorIndex: -1
    };
  },
  mounted() {
    this.addActive();
  },
  methods: {
    /*給List的每一個對象添加active屬性,需要用到this.$set('對象','鍵值','value') */
    addActive() {
      this.List.forEach(item => {
        this.$set(item, "active", false);
      });
    },
    changeColor(item, index) {
      if (index === 0) {
        this.List.forEach(item => {
          item.active = false;
        });
      } else {
        this.List[0].active = false;
      }
      if (!item.active) {
        item.active = true;
      } else {
        item.active = false;
      }
    }
  }
};
</script>
<style lang="less" scoped>
.list2 {
  width: 100px;
  ul {
    list-style: none;
    .activeColor {
      background-color: #f6fbff;
      color: #298adb;
    }
    li {
      cursor: pointer;
    }
  }
}
</style>

效果如下,點(diǎn)擊‘總的’話,部分會全部不變,點(diǎn)擊‘部分’,全部會不變

總結(jié)

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用vue-video-player實(shí)現(xiàn)直播的方式

    使用vue-video-player實(shí)現(xiàn)直播的方式

    在開發(fā)期間使用過video.js、mui-player等插件,發(fā)現(xiàn)這些video插件對移動端的兼容性都不友好,最后發(fā)現(xiàn)一個在移動端兼容不錯的插件vue-video-player,下面通過場景分析給大家介紹使用vue-video-player實(shí)現(xiàn)直播的方法,感興趣的朋友一起看看吧
    2022-01-01
  • idea部署RuoYi-Vue分離版的圖文詳解

    idea部署RuoYi-Vue分離版的圖文詳解

    RuoYi-Vue是一款基于SpringBoot+Vue的前后端分離極速后臺開發(fā)框架, 本文主要介紹了idea部署RuoYi-Vue分離版的圖文詳解,具有一定的參考價值,感興趣的可以了解一下
    2024-06-06
  • 前端儲存之localStrage、sessionStrage和Vuex使用

    前端儲存之localStrage、sessionStrage和Vuex使用

    localStorage、sessionStorage和Vuex是三種不同的客戶端存儲方式,用于在瀏覽器中保存數(shù)據(jù),localStorage和sessionStorage都是以鍵值對的形式存儲數(shù)據(jù),但localStorage存儲的數(shù)據(jù)在關(guān)閉瀏覽器后仍然存在
    2025-01-01
  • 如何利用vite快速搭建vue3項(xiàng)目

    如何利用vite快速搭建vue3項(xiàng)目

    這篇文章主要介紹了如何利用vite快速搭建vue3項(xiàng)目問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-03-03
  • 前端Vue學(xué)習(xí)之購物車項(xiàng)目實(shí)戰(zhàn)記錄

    前端Vue學(xué)習(xí)之購物車項(xiàng)目實(shí)戰(zhàn)記錄

    購物車是電商必備的功能,可以讓用戶一次性購買多個商品,下面這篇文章主要給大家介紹了關(guān)于前端Vue學(xué)習(xí)之購物車項(xiàng)目的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • 淺談vue獲得后臺數(shù)據(jù)無法顯示到table上面的坑

    淺談vue獲得后臺數(shù)據(jù)無法顯示到table上面的坑

    這篇文章主要介紹了淺談vue獲得后臺數(shù)據(jù)無法顯示到table上面的坑,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • vue?3.0使用element-plus按需導(dǎo)入方法以及報錯解決

    vue?3.0使用element-plus按需導(dǎo)入方法以及報錯解決

    Vue3是不能直接使用Element-ui了,需要換成Element-plus,下面這篇文章主要給大家介紹了關(guān)于vue?3.0使用element-plus按需導(dǎo)入方法以及報錯解決的相關(guān)資料,需要的朋友可以參考下
    2024-02-02
  • vue實(shí)現(xiàn)全選功能

    vue實(shí)現(xiàn)全選功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)全選功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Vue.js項(xiàng)目在IE11白屏報錯的解決方法

    Vue.js項(xiàng)目在IE11白屏報錯的解決方法

    本文主要介紹了Vue.js項(xiàng)目在IE11白屏報錯的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-08-08
  • vue中手機(jī)號,郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例

    vue中手機(jī)號,郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例

    下面小編就為大家分享一篇vue中手機(jī)號,郵箱正則驗(yàn)證以及60s發(fā)送驗(yàn)證碼的實(shí)例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03

最新評論

同江市| 虞城县| 万山特区| 定陶县| 黄梅县| 新邵县| 深州市| 汤阴县| 奇台县| 夏邑县| 宜州市| 澎湖县| 隆昌县| 正安县| 天镇县| 辽宁省| 肇庆市| 新丰县| 神木县| 柳江县| 乌什县| 库伦旗| 原阳县| 灵山县| 诏安县| 亳州市| 当阳市| 晋江市| 肇源县| 大庆市| 建始县| 屯门区| 沈丘县| 周宁县| 西林县| 延庆县| 阳江市| 高安市| 益阳市| 贵阳市| 扶风县|