A atualização/destruição do gráfico do Dojox não funciona depois do dojo.byid

StackOverflow https://stackoverflow.com/questions/4610920

  •  25-09-2019
  •  | 
  •  

Pergunta

Eu criei um gráfico de dojo usando;

var pieChart = new dojox.charting.Chart2D("pieChart");

Depois, quero atualizar/destruir este gráfico. Então eu faço;

var pieChart = dojo.byId("pieChart");
pieChart.destroy();

Isso parece não ser funcional. Estou fazendo algo errado aqui?

melhor

Foi útil?

Solução

Como você está usando dojox, o dojo.byid não retornará o objeto JavaScript, tente usar dijit.byid, acho que funcionará como sugerido abaixo:

var piechart = dijit.byid ("piechart"); Piechart.Destroy ();

O mesmo problema que eu estava enfrentando com dojox.form.busybutton depois de um grande esforço, encontrei isso ...

Outras dicas

Eu encontrei esse mesmo problema, onde criei o gráfico em um só lugar e depois queria destruí -lo em outro, mas não tinha referência ao objeto do gráfico. A única solução que encontrei é esvaziar o nó DOM que você usou para fazer o gráfico:

dojo.empty("pieChart");

A segunda variável referenciará o objeto DOM, não o objeto JavaScript que armazena o objeto do gráfico.

var pieChart = new dojox.charting.Chart2D("pieChart");
pieChartDom = dojo.byId("pieChart"); //you cannot destroy, 
pieChart.destroy();  //you can destroy, this is original variable

Espero que ajude.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top