点击就高亮,可以点亮多个。但是点击了js处理变了状态dom节点并没有改变啊。。。第一次点击高亮第二次取消高亮

本文探讨了在Vue.js中处理点击事件时遇到的问题,即元素高亮状态更新但DOM未同步。通过示例代码展示了如何初始化`kindex`数组并使用`$set`更新数据。当遇到多维数组时,提出了解决方案,强调了在某些情况下可能需要对数组进行再次赋值以确保DOM与数据同步。
摘要由CSDN通过智能技术生成

  <el-col :span="6" class="grade" v-for="(item,i) in classes" :key="item.clsid">

<div class="grid-content bg-purple" :class="{'active':kindex[i]==true}"  @click="changeGrade(item,i,$event)" ref="grade">{ {item.classname}}</div>

</el-col>

就放一段代码演示:

首先这里的kindex是个数组。里面就是循环获得的.如果点击就把这个下标的数据变成true。

首先获取到kindex的初始值。他到底有几个还是看classes有几个。先全部赋值为false

this.kindex=this.classes.map(res=>{
                            return false;
            });

changeGrade(data,i,e){//切换班级
                this.kindex[i]=true;   //把点击的变成true
          

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个基本的 echarts 关系图,点节点后会持续高亮的例子: ```html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>echarts 关系图</title> </head> <body> <div id="myChart" style="width: 600px;height:400px;"></div> <script src="https://cdn.bootcdn.net/ajax/libs/echarts/5.2.1/echarts.min.js"></script> <script type="text/javascript"> var chartDom = document.getElementById('myChart'); var myChart = echarts.init(chartDom); var option; option = { tooltip: { trigger: 'item', formatter: '{a} : {b}' }, series: [ { type: 'graph', layout: 'force', force: { repulsion: 100, edgeLength: 50 }, data: [ { name: '节点1', symbolSize: 50 }, { name: '节点2', symbolSize: 50 }, { name: '节点3', symbolSize: 50 } ], links: [ { source: '节点1', target: '节点2' }, { source: '节点1', target: '节点3' } ] } ] }; myChart.setOption(option); myChart.on('click', function (params) { if (params.dataType === 'node') { myChart.dispatchAction({ type: 'focusNodeAdjacency', seriesIndex: 0, dataIndex: params.dataIndex }); } }); </script> </body> </html> ``` 在上面的代码中,我们通过 `myChart.on` 方法监听了 `click` 事件,判断当前点的 `params.dataType` 是否为 `node`,如果是,则调用 `myChart.dispatchAction` 方法,并传入参数 `{type: 'focusNodeAdjacency', seriesIndex: 0, dataIndex: params.dataIndex}`,这样就可以使节点持续高亮了。 注意:在以上代码中,我们使用了 echarts v5.2.1,如果你使用的是其他版本,则可能需要修改一些配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值