我有以下EXTJS代码,我必须在其中显示超链接,当用户点击时,它必须打开一个弹出窗口,这是另一个已经创建的外部视图。
{
xtype: 'label',
width: 170,
border: false,
html: '<a href="popup.js">ACCOUNTS-3</a>'
}
上面的代码不起作用,因为它转到URL curentURL / popup.js这是无效的。
Ext.define('MyappDesktop.view.taso.TransactionListPanel', {
extend: 'Ext.grid.GridPanel',
alias: 'widget.transactionList',
title: 'Transactions',
initComponent: function() {
this.store = 'Transactions';
this.columns = [
{ header: 'AMOUNT', dataIndex: 'transaction_amt', flex: 0 },
{ header: 'POSTING STATUS', dataIndex: 'posting_sta_ind', flex: 0 },
{ header: 'ITEM DESCRIPTION', dataIndex: 'item_desc', flex: 0 },
{ header: 'SERIAL NUMBER', dataIndex: 'serial_no', flex: 0 },
{ header: 'TRANSACTION CODE', dataIndex: 'transaction_code', flex: 0 },
{ header: 'RETURNABLE', dataIndex: 'is_returnable', flex: 0 },
{ header: 'VALUE DATE', dataIndex: 'value_date', flex: 0 },
{ header: 'BOOKING DATE', dataIndex: 'booking_date', flex: 0 }
];
this.viewConfig = {
stripeRows: true
};
this.dockedItems = [{
xtype: 'pagingtoolbar',
store: 'Transactions',
dock: 'bottom',
displayInfo: true
}];
this.callParent(arguments);
}});
答案 0 :(得分:0)
由于您的其他视图已经创建,最好的方法可能是在标签的元素中添加一个click事件监听器,并使用该事件的处理程序来显示视图。
{
xtype: 'label',
text: 'ACCOUNTS-3',
width: 170,
border: false,
listeners: {
element: 'el',
click: function () {
// get instance of other view and display it
}
}
}