在UI設計的時候,可能我們在使用echarts時,legend是用圖片渲染的,未選中的legend是用置灰的圖片展示的。即彩色圖片,置灰圖片交互切換。
主要代碼如下:
//圖例事件 let lgdt = this._ledgend(), lgData = lgdt.legendData,lgList = lgdt.legendList, imgs = this._icon(),imglg = imgs.length,unIng = this._lgiconUnActive(), iconUnActive = `image://${unIng}`; myChart.on('legendselectchanged', (params)=>{ let {selected,name} = params,i = lgList.indexOf(name); let theOption = lgData.find(dt => dt.name === name); let iconActive = `image://${imgs[i%imglg]}`; theOption.icon = selected[name] ? iconActive : iconUnActive; // 更新圖列 this.$chart.setOption({ legend: { data: lgData } }) })
有問題的可以直接在評論下問我,歡迎~