Echarts開発--formatterコールバック関数

8820 ワード

formatterには2つの書き方があります.1つは文字列テンプレートで、もう1つはコールバック関数です.文字列モデルには、このseriesのnameの値を変更すると書かれています.ここでnameには1つの値しかありません.nameを変更することはできません.だから、dataに変数を伝えることができます.コールバック関数を使うと、ドキュメントにもコールバック関数がはっきり書かれていません.ここは簡単な言葉でもう一度整理します.主に2つの点があります.必要な個性的な情報を表示し、きれいなスタイルを表示します.
コールバック関数の書き方:
 formatter:function(params){ 
    str =  params.data.flag+ params.name+params.percent
    return str
},

ここparamsは私たちのdataで、1本1本中に伝わります.
内容が変わったが,少し醜くなった.私たちは元の姿に変えたいのですが、どうすればいいですか?ここは公式文書の中で一番頭が痛いので、半日探しても見つからず、ネットでも説明が見つからないほうがいいです.私たちは元のスタイルを使って、私たちのパラメータparamsを使うだけです.nameという置換は元{a}という位置にあり,我々のパラメータは他のコンテンツと+で接続されている.次のようになります.
 formatter:function(params){ 
    str = '{a|'+ params.data.flag + '}{abg|}
{hr|}
{b|'
+params.name+':} {per|'+params.percent + '%}' return str }, // {a| a , {a} , // {a}( ),{b}( ),{c}( ), {d}( ), ! 。

例:
myChart1.setOption({
        title: {
          text: "           ",
          left: "center"
        },
        tooltip: {
          trigger: "item",
          formatter: "{b} : {c} ({d}%)",
        },
        legend: {
          show: false
        },
        series: [
          {
            type: "pie",
            radius: "65%",
            // radius: ['30%', '70%'],
            center: ["50%", "50%"],
            selectedMode: "single",
            label: {
                normal: {
                    // show:false, 
                    position:"outside",
                    fontSize:12,
                    // align:'left',
                    // verticalAlign:'top',
                    formatter:function(params){  // params        data
                      if(params.percent > 1){
                        // let str =  params.name +"
"+ params.percent + "%"
let str = params.name+'
'
+params.percent + '%' return str }else{ return '' } }, } }, labelLine:{ normal:{ show:false, length:10, length2:10, smooth:0 }, emphasis:{ show:true } }, data: this.tableData_pie } ] });