【问题标题】:ExtJs4 dynamically load items in a toolbarExtJs4 动态加载工具栏中的项目
【发布时间】:2011-09-17 07:21:51
【问题描述】:

如何在 ExtJs 4 工具栏中动态加载项目?我想从 JSON 加载项目。

我已经尝试过加载器,但它只是变得头疼。

Ext.define('Backend.view.Nav' ,{
    alias: 'widget.Nav',
    extend: 'Ext.toolbar.Toolbar',
    initComponent: function() {
        this.items = [
        {
            iconCls: 'freewinder',
            text: 'Freewinder'
        },
        {
            iconCls: 'application',
            text: 'Applikationen',
            xtype: 'splitbutton'
        },
        {
            iconCls: 'component',
            text: 'Komponenten',
            xtype: 'splitbutton'
        },
        '-',
        {
            emptyText: 'Suche ...',
            xtype: 'textfield'
        }];     
        this.callParent(arguments);
    }
});

【问题讨论】:

    标签: javascript json extjs extjs4


    【解决方案1】:

    工具栏构建完成后,可以使用Ext.toolbar.Toolbaradd方法动态添加项目:http://docs.sencha.com/ext-js/4-0/#!/api/Ext.toolbar.Toolbar-method-add

    您希望它如何工作?如果工具栏出现,发出 AJAX 请求并添加菜单项 - 或者服务器应该在页面加载时为客户端应用程序提供一些包含菜单项的 JSON,或者您希望它如何准确工作?

    如果服务器在页面加载时输出 JSON,您只需执行 this.items = jsonItems

    【讨论】:

    • 我想要服务器输出的 json。 this.items = jsonItems 似乎很棒,但我不明白。继承我的代码: ... Ext.define('Backend.view.Nav' ,{ alias: 'widget.Nav', extend: 'Ext.toolbar.Toolbar', initComponent: function() { var me = this; var store = Ext.create('Backend.store.Nav'); store.load(function() { me.items = store; }); ...
    • 因为您在构建/构建工具栏后完成的 XMLHttpRequest(AJAX 请求)。您必须在运行 initComponent 之前加载项目。
    • 我不明白!我如何将远程 json 数据加载到我的工具栏(按钮等)中……没有人举个例子吗?我现在一直在搜索... :(
    猜你喜欢
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多