echarts設置option中的數據對象優化


if(tab.name == 'first'){
          myChart.setOption({
            legend: {
            selected:{
              [this.playNumber]:true,
              [this.coverNumber]:false,
              [this.touchNumber]:false,
              [this.winPrizeNum]:false,
              [this.takePrizeNum]:false
            }
        },

          })
      }else if(tab.name == 'second'){
          myChart.setOption({
            legend: {
              selected:{
              [this.playNumber]:false,
              [this.coverNumber]:true,
              [this.touchNumber]:false,
              [this.winPrizeNum]:false,
              [this.takePrizeNum]:false
             }
            },  
          })
      }else if(tab.name == 'third'){
          myChart.setOption({
            legend: {
              selected:{
                [this.playNumber]:false,
                [this.coverNumber]:false,
                [this.touchNumber]:true,
                [this.winPrizeNum]:false,
                [this.takePrizeNum]:false
              }
            },  
          })
      }else if(tab.name == 'fourth'){
          myChart.setOption({
            legend: {
              selected:{
                [this.playNumber]:false,
                [this.coverNumber]:false,
                [this.touchNumber]:false,
                [this.winPrizeNum]:true,
                [this.takePrizeNum]:false
              }
            }   
          })
      }else if(tab.name == 'five'){
          myChart.setOption({
            legend: {
              selected:{
                [this.playNumber]:false,
                [this.coverNumber]:false,
                [this.touchNumber]:false,
                [this.winPrizeNum]:false,
                [this.takePrizeNum]:true
              }
            }
          })
      }

  代碼優化:

var arr = {'first':[this.playNumber],'second':[this.coverNumber],'third':[this.touchNumber],'fourth':[this.winPrizeNum],'five':[this.takePrizeNum]};
      var obj = {
          [this.playNumber]:false,
          [this.coverNumber]:false,
          [this.touchNumber]:false,
          [this.winPrizeNum]:false,
          [this.takePrizeNum]:false
      };
      Object.keys(arr).forEach(function(key){
        if(tab.name == key){
          obj[arr[key]] = true;
        }
      });
      myChart.setOption({
        legend: {
          selected: obj
        }, 
      });

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM