Ext动态加载Toolbar

  在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoad(),等方法都可以对数据进行重新加载,在这篇博文中,主要来阐述如何动态加载Toolbar。

  实现动态的加载Toolbar,首先必须知道,Toolbar是加载在panel上的,可以根据,重新加载Panel来进行增加,但是,不管是对于性能或者是代码的维护上来说,这种方式肯定都是不可取的。

  接下来进入正题,实现Toolbar的动态加载,在官方的文档中建立一个Toolbar给出了如下的方法:

Ext.create('Ext.toolbar.Toolbar', {
    renderTo: document.body,
    width   : 500,
    items: [
        {
            // xtype: 'button', // 默认的工具栏类型
            text: '按钮'
        },
        {
            xtype: 'splitbutton',
            text : '分割按钮'
        },
        // 使用右对齐容器
        '->', // 等同 { xtype: 'tbfill' }
        {
            xtype    : 'textfield',
            name     : 'field1',
            emptyText: '输入搜索词'
        },
        // 添加工具栏项之间的垂直分隔条
        '-', // 等同 {xtype: 'tbseparator'} 创建 Ext.toolbar.Separator
        'text 1', // 等同 {xtype: 'tbtext', text: 'text1'} 创建 Ext.toolbar.TextItem
        { xtype: 'tbspacer' },// 等同 ' ' 创建 Ext.toolbar.Spacer
        'text 2',
        { xtype: 'tbspacer', width: 50 }, // 添加一个50像素的空格
        'text 3'
    ]
});

  根据上面的代码我们可以很快速的建立一个Toolbar,我们在上面的代码中应主要关注一下items属性,接下来就把上面的代码进行一些改变。

    var A = {text: 'A', handler: func1};
    var B =  {text: 'B', handler: func2};
    var C = {text: 'C', handler: func3};
    var D = {text: 'D', handler: func4};
    var E = {text: 'E', handler: func5};
    var toolbar = Ext.create('Ext.toolbar.Toolbar', {
        autoShow:true,
        items: [
            A,B,C,D,E
        ]
    });

  在上述的代码中,text的值为我们的按钮,其中具体的方法在handler中,变量toolbar共加载了5个按钮ABCDE。

  用一个方法举例,当点击A按钮后出发func1函数,函数代码如下:

    function findNotProcessed() {
        toolbar.removeAll(); //清除所有按钮
        toolbar.add([C,D,E]);//添加CDE按钮
        store.load();//重新加载,要是数据没有变化可不要这一步骤
    }

转载于:https://www.cnblogs.com/DonaHero/p/6159895.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值