Extjs 3 如何在不刷新屏幕的情况下删除图表并显示新图表

问题描述

Flash Player 将消失,我需要找到一个修复程序来显示图表项目。我找到了 extjs3-chartjs-extension。我能够创建饼图,但在删除图表并将其替换为新饼图时遇到问题。

我将以下内容添加PHP demo.v.PHP

<html>
    <head>
        <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Demo Report</title>
  </head>

    <body>
      <div id="container"></div>
    </body>
</html>

demo.js

    function showChart(category,type){
      var container = new Ext.Container({ 
        items: [
          new Ext.Panel({
            title: category,height: 320,width: 600,layout: "fit",items: [
              new Ext.ux.Chartjs({
               type: "Pie",data: [
                 {
                   value: 300,color:"#F7464A",highlight: "#FF5A5E",label: "Red"
                 },{
                   value: 50,color: "#46BFBD",highlight: "#5AD3D1",label: "Green"
                 },{
                   value: 100,color: "#fdb45C",highlight: "#FFC870",label: "Yellow"
                 }
               })
             ]
           })
          ],renderTo: "container"
        });

我试过使用

document.getElementById('container').remove();

继续构建新的饼图。 我在 console.log 中收到以下错误 错误

Uncaught TypeError: Cannot read property 'dom' of null

解决方法

试试这个document.getElementById('container').parentElement.innerHTML = ""

它应该删除容器元素的父元素内的所有内容

如果你的身体内部有其他元素,那么只需用一个元素包围容器