0

我有一个 spfx webpart,它根据属性窗格中选择的列表显示图表视图。我可以生成图表,但是在更改列表时,第二个图表数据显示悬停时的上一个图表数据。下面的代码是 .tsx 文件中的渲染方法

<ChartControl                  
        type={ChartType.Bar}                   
         data promise={this._data()}                      
         options={{
         legend: {
         display: true,
         position: "right",                
         },
         title: {
         display: true,
         text: "My Chart Data"
         },  
         }} />

_data() 方法如下所示,

let Chart:Chart;
Chart.ChartData = {
    labels: ['Income','Expense','Debt','Savings'],
    datasets: [{
      label: 'Archive',
      data: [10,13,20,90]          
    }]
  };

我试图实施,

Chart.destroy()/Chart.clear()

但不工作。它显示错误并被拒绝说图表未定义。

在这种情况下如何在加载下一个列表时清除旧数据。

4

2 回答 2

0

@Starter-代码

 this.state = {
          data: {
            labels:
              [
                'January', 'February', 'March', 'April', 'May', 'June', 'July'
              ],
            datasets:
              [{
                label: 'My Second Dataset',
                data:
                  [
                    65, 59, 80, 81, 56, 55, 40
                  ]
              }]
          }
        };
于 2021-01-21T05:45:06.497 回答
0
Chart.datasets.pop();

在代码中使用此行将清空数据集,因此将添加新数据并且悬停图表将不会显示旧数据。

于 2021-01-25T08:14:36.553 回答