从EXTJS中的链接弹出

时间:2014-02-04 16:24:42

标签: javascript html html5 extjs extjs4

我有以下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);
}});

1 个答案:

答案 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
        } 
    } 
 }