2016-11-10 71 views
0

我正在使用圖表爲我的應用程序呈現餅圖。我有:如何將類添加到EXTJ中的元素類中

Ext.query('.highcharts-container') 

,讓我highchart-容器陣列,我想自定義類添加到他們每個人添加一些自定義CSS。我試過了:

Ext.query('.highcharts-container').addCls("test") 

但是說「addCls」不是函數。下面 是它的外觀的IMG:

enter image description here 和雅閣的答案下面,我想在單獨的應用程序添加它,和它的作品,但由於某些原因,在這種情況下,不斷顯示undefined.no線索whts繼續?

+0

請注意,您發佈的小提琴是無效的,它有它的語法錯誤。 –

+0

看看日誌,沒有匹配'd'的元素。無論如何,除非你發佈一個真正的測試案例,我們不能幫助,不能猜測每一個可能出錯的細節。 –

回答

0

Ext.query將返回一個匹配組件的數組。如果你確信總會有數組正好1項,你可以使用:

Ext.ComponentQuery.query('.highcharts-container')[0].addCls("test") 

否則,你應該通過項目環和類添加到每個組件。

Ext.ComponentQuery.query('.highcharts-container').forEach(function (item) { 
    item.addCls("test"); 
}); 
+0

我試過第一種情況:它錯誤:Ext.query(...)[0] .addCls不是函數。當我嘗試第二個前例:它說:Ext.query(「...」)。每個都不是一個函數,這是一些版本問題? – user1234

+0

它應該是'forEach'而不是'each'。答案已更正。如果這些是您使用的唯一圖表,您也可以使用Ext.ComponentQuery.query('chart')'。 – chrisuae

+0

當然,forEach解決了,但仍然存在「addCls」錯誤。我仍然得到這個:「TypeError:item.addCls不是一個函數(...)」..有沒有另一種方式? – user1234

1

Ext.query返回數組。請使用Ext.select,它返回CompositeElement。它可以讓你運行的一組元素Ext.dom.Element方法:

Ext.select('.highcharts-container').addCls("test");

+0

說undefined again..is有問題的版本如果extjs即時通訊使用? – user1234

+0

我對此表示懷疑。我建議你發佈一個測試用例。這裏是'Ext.select'添加一個類:https://fiddle.sencha.com/#fiddle/1k7j –

相關問題