日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

vue3.0动态循环icon点击变色,再次点击取消选中

發(fā)布時間:2024/3/24 vue 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 vue3.0动态循环icon点击变色,再次点击取消选中 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先看效果圖

點擊后發(fā)生改變

開始上代碼
html部分

<div class="left-circle"><div class="whole-circle" ref="wholeCircle"></div><div class="whole-list"><ul><li v-for="(item, index) in newArr" :key="index"><divclass="icon":class="{ iconactived: spanIndex.indexOf(index) > -1 }":style="{ background: item.text }"@click="changeCicle(item, index)"></div><span class="name">{{ item.name }}</span><span class="value">{{ item.value }}</span><span class="unit"><span>|</span></span><span class="type">{{ item.type }}</span></li></ul></div></div>

css部分代碼

.left-circle {display: flex;padding-left: 92px;.whole-circle {width: 60%;height: 100%;}.whole-list {width: 40%;height: 100%;ul {li {display: flex;align-items: center;padding: 20px 10px;span {margin: 0 10px;}.icon {width: 12px;height: 12px;border-radius: 50%;cursor: pointer;}.iconactived {background: #cccccc !important;}.name {font-size: 22px;font-weight: 500;color: #3aaeff;}.value {font-size: 38px;font-weight: bold;color: #ffffff;}.type {color: #00d9ff;font-size: 30px;font-weight: bold;}.unit {display: flex;margin: 0;font-size: 22px;font-weight: 300;color: #ffffff;span {opacity: 0.3;margin: 0 2px;}}}}}}

vue3.0JS部分關(guān)鍵代碼
關(guān)于ref這個響應式引用可以看官網(wǎng)帶 ref 的響應式變量

import { ref } from "vue"; //需要引入ref相應變量setup() {const wholeCircle = ref(null);const isactive = ref(0); //選中切換的名字const spanIndex = ref([]); //選中icon的數(shù)組const dataList = [{ value: 758, name: "付款", type: "30%" },{ value: 425, name: "接單", type: "20%" },{ value: 565, name: "發(fā)貨", type: "10%" },{ value: 6452, name: "攬收", type: "15%" },{ value: 4905, name: "簽收", type: "6%" },{ value: 547, name: "撤單", type: "4%" }];const color = [{ text: "#52ca8d" },{ text: "#06bdf6" },{ text: "#116fee" },{ text: "#6e68fd" },{ text: "#9229fd" },{ text: "#fdac50" }];const newArr = dataList.map((item, index) => {return { ...item, ...color[index] };});let arr = [...newArr];const changeCicle = (item, index) => {let arrIndex = spanIndex.value.indexOf(index);if (arrIndex > -1) {spanIndex.value.splice(arrIndex, 1);arr.splice(index, 0, item);} else {spanIndex.value.push(index);arr = arr.filter(res => {return res.name != item.name;});}//let myChart = echarts.init(wholeCircle.value);//let bar = orderEcharts.wholeCircle(arr);//myChart.setOption(bar);};return {wholeCircle,dataList,isactive,newArr,changeCicle,spanIndex};}

總結(jié)

以上是生活随笔為你收集整理的vue3.0动态循环icon点击变色,再次点击取消选中的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。