#extjs #render
#extjs #рендеринг
Вопрос:
У меня есть TreeGrid
. В средстве визуализации столбцов я вызываю некоторую функцию1.
В дереве прослушивателей afterrender я вызываю некоторую функцию2.
Когда я обновляю страницу, она вызывает function1, а затем function2. Но когда я сортирую столбцы, вызывается функция 1, а функция 2 — нет.
var tree = Ext.create("Ext.tree.Panel", {
columns: [{
text: 'text',
flex: 1,
dataIndex: 'id',
renderer: function(){
alert("!!!");
},
}],
listeners: {
afterrender: function(){
alert("!");
},
}
});
Комментарии:
1. В чем именно заключается ваш вопрос? Вы хотите, чтобы функция 2 вызывалась при сортировке столбцов? Затем вам следует использовать другое событие для прослушивания.
2. Не только при сортировке столбцов. после всех средств рендеринга (после всех вызывающих функций1)
3. Было бы неплохо явно уточнить, что
TreeGrid
s были заменены наTreePanel
s, как в этом примере (см. Код с соответствующим комментарием здесь )
Ответ №1:
afterrender
это событие в дереве.Сама панель, поэтому она будет вызываться только после дерева.Панель визуализируется.
Похоже, что column renderer
вызывается каждый раз при визуализации столбца; например, при сортировке столбца.