echarts 图给每个已有对象加动态不同的属性操作
-
情景:在 vue 组件获取了 js 里存储的数据后,想要给获取的 list 的每一条数据加上相同的属性作为公共部分
// 页面打开即加载方法 mounted() { this.init() }, methods:{ init(){ // 给新的进行重新赋d: this.xAxisStyle.forEach((xAxis) => { xAxis.data = this.xAxisData; }) this.series.forEach((series) => { series.smooth = this.smooth; series.type = this.seriesType; series.showSymbol = this.showSymbol; // 注意,在js里要存在emphasis这一属性,只是{}空的也好,否则会显示找不到emphasis属性 series.emphasis.disabled = this.showGl; // 还可以获取每次循环的name属性值并存储 if (series.hasOwnProperty('name')) { this.dataTl.push(series.name); } }) // 如果有需要还可以用for循环 —— 指存在根据循环次数而改变的属性时 for (let i = 0; i < this.grid.length; i++) { // 使用展开运算符创建新的对象(保留着原属性数据) let newGrid = {...this.grid[i]}; newGrid.left = this.gridLeft + '%'; newGrid.width = this.gridWidth + '%'; newGrid.height = this.gridHeight + '%'; // 第i个的top为百分之(this.gridTop + i*newGrid.height + i*this.gridJX) newGrid.top = (this.gridTop + this.gridHeight*i + this.gridJx*i) + '%'; // 将新的对象添加到 grid 数组中 option.grid.push(newGrid); } } }
分类:
vue / echarts
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义