我在动作栏上调用弹出窗口点击
handler: function (view, rowIndex, colIndex, item, e, record, row) { Ext.widget('Info').show(); }
如果我想传递record.get('firstname'),那该怎么做?
同时如何读取afterrender中发送的数据
var infoForm = Ext.define('App.view.Report.Info', { extend: 'Ext.window.Window', listeners: { afterrender: function () { } }
答案 0 :(得分:0)
你可以按照这个 -
handler: function (view, rowIndex, colIndex, item, e, record, row) {
var infoWin=Ext.widget('Info');
infoWin.firstName=record.get('firstname');
infoWin.show();
}
var infoForm = Ext.define('App.view.Report.Info', {
extend: 'Ext.window.Window',
listeners: {
afterrender: function (winObj) {
var firstName=winObj.firstName;
}
}
因为在创建Info实例之后,它只是一个Object而你可以添加新的属性运行时。
答案 1 :(得分:0)
您可以在窗口小部件中使用formpanel,并使用handler: function(grid, rowIndex, colIndex) {
var record = grid.getStore().getAt(rowIndex);
Ext.create('App.view.Report.Info', {
record: record
}).show();
}
在formelements中轻松加载数据。这是一个例子:
https://fiddle.sencha.com/#fiddle/19oe
替代:
Ext.define('App.view.Report.Info', {
extend: 'Ext.window.Window',
listeners: {
afterrender: function () {
if (this.record) {
console.log(this.record);
}
}
}
渲染小部件后:
ImageView
答案 2 :(得分:-1)
使用以下代码将任何键值传递给小部件
Ext.widget('Info',{
'firstname' : record.get('firstname')
}).show();
稍后,您可以在Afterrender函数中使用它," this.firstname"