最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ExtJs使用自定義插件動態(tài)保存表頭配置(隱藏或顯示)

 更新時間:2018年09月25日 17:11:12   作者:阿xian  
這篇文章主要介紹了ExtJs使用自定義插件動態(tài)保存表頭配置(隱藏或顯示) ,需要的朋友可以參考下

關(guān)于保存列表表頭的配置,一般我們不需要與后臺交互,直接保存在 localStorage 中就能滿足常規(guī)使用需求(需要瀏覽器支持)。

直接上代碼,插件:

Ext.define('ux.plugin.ColumnCustom', {
  alias: 'plugin.columnCustom',
  xtype: 'columnCustom',
  //初始化
  init: function (gridPanel) {
    var me = this;
    me.owner = gridPanel;
    //根據(jù)已有配置項設(shè)置表頭狀態(tài)
    me.setColumnConfig(gridPanel);
    gridPanel.on({
      columnschanged: me.saveColumnConfig,
      scope: me
    });
  },
  setColumnConfig: function (gridPanel) {
    var me = this,
      xtype = gridPanel.getXType(),
      currentColumnConfig = me.getCurrentColumnConfig(),
      columnConfig = currentColumnConfig[xtype],
      columns = gridPanel.getColumns();
    if (!columnConfig) return;
    columns.forEach(function (column) {
      var dataIndex = column.config.dataIndex;
      //只有常規(guī)列才有顯式的dataIndex,序號列等非常規(guī)列應(yīng)排除在外
      if (!dataIndex) return;
      column.setHidden(columnConfig[dataIndex]);
    });
  },
  saveColumnConfig: function () {
    var me = this,
      gridPanel = me.owner,
      currentColumnConfig = me.getCurrentColumnConfig(),
      columns = gridPanel.getColumns(),
      xtype = gridPanel.getXType(),
      config = {};
    columns.forEach(function (column) {
      var dataIndex = column.config.dataIndex;
      //只有常規(guī)列才有顯式的dataIndex,序號列等非常規(guī)列應(yīng)排除在外
      if (!dataIndex) return;
      config[dataIndex] = column.isHidden();
    });
    //使用xtype作為索引是相對可靠的做法
    currentColumnConfig[xtype] = config;
    //localStorage的值類型限定為string類型
    localStorage.setItem('columnConfig', Ext.encode(currentColumnConfig));
  },
  getCurrentColumnConfig: function () {
    var allColumnConfigString = localStorage.getItem('columnConfig'),
      allColumnConfig = Ext.decode(allColumnConfigString, true);
    return allColumnConfig || {};
  }
});

如何使用:由于這是一個比較常規(guī)的需求,因此這里默認(rèn)給所有的gridPanel配置此插件,并支持手動配置參數(shù)禁用之,考慮復(fù)寫gridPanel類。

代碼如下:

Ext.define('override.grid.Panel', {
  override: 'Ext.grid.Panel',
  requires: ['ux.plugin.ColumnCustom'],
  columnCustomDisable: false,
  initComponent: function () {
    var me = this;
    me.callParent();
    //默認(rèn)全部加上自動保存表頭插件,此處追加一個可配屬性來禁用此插件
    if (!me.columnCustomDisable) {
      me.addPlugin('columnCustom');
    }
  }
});

總結(jié)

以上所述是小編給大家介紹的ExtJs使用自定義插件動態(tài)保存表頭配置(隱藏或顯示),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Firefox中beforeunload事件的實現(xiàn)缺陷淺析

    Firefox中beforeunload事件的實現(xiàn)缺陷淺析

    beforeunload 指在頁面卸載前提供的最后一次JS執(zhí)行的機(jī)會
    2012-05-05
  • 談?wù)勎覍avaScript原型和閉包系列理解(隨手筆記8)

    談?wù)勎覍avaScript原型和閉包系列理解(隨手筆記8)

    這篇文章主要介紹了談?wù)勎覍avaScript原型和閉包系列理解(隨手筆記8)的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • bootstrap實現(xiàn)點擊刪除按鈕彈出確認(rèn)框的實例代碼

    bootstrap實現(xiàn)點擊刪除按鈕彈出確認(rèn)框的實例代碼

    本文通過實例代碼給大家介紹了bootstrap實現(xiàn)點擊刪除按鈕彈出確認(rèn)框的方法,需要的朋友參考下吧
    2018-08-08
  • JS踩坑實戰(zhàn)之19位數(shù)Number型精度丟失問題詳析

    JS踩坑實戰(zhàn)之19位數(shù)Number型精度丟失問題詳析

    前幾天測試接口功能的時候,發(fā)現(xiàn)了一個奇怪的問題,下面這篇文章主要給大家介紹了關(guān)于JS?Number型精度丟失問題的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • webpack公共組件引用路徑簡化小技巧

    webpack公共組件引用路徑簡化小技巧

    日常開發(fā)中,我們會常常把一些功能提取出來,包裝成一個公共模塊或者組件.這篇文章主要介紹了webpack公共組件引用路徑簡化小技巧,非常具有實用價值,需要的朋友可以參考下
    2018-06-06
  • js中forEach,for in,for of循環(huán)的用法示例小結(jié)

    js中forEach,for in,for of循環(huán)的用法示例小結(jié)

    這篇文章主要介紹了js中forEach,for in,for of循環(huán)的用法,結(jié)合實例形式總結(jié)分析了js中forEach,for in,for of循環(huán)相關(guān)使用技巧與操作注意事項,需要的朋友可以參考下
    2020-03-03
  • 淺談toLowerCase和toLocaleLowerCase的區(qū)別

    淺談toLowerCase和toLocaleLowerCase的區(qū)別

    下面小編就為大家?guī)硪黄獪\談toLowerCase和toLocaleLowerCase的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-08-08
  • JavaScript使用delete刪除數(shù)組元素用法示例【數(shù)組長度不變】

    JavaScript使用delete刪除數(shù)組元素用法示例【數(shù)組長度不變】

    這篇文章主要介紹了JavaScript使用delete刪除數(shù)組元素用法,結(jié)合實例形式分析了delete刪除數(shù)組元素的具體用法與注意事項,需要的朋友可以參考下
    2017-01-01
  • 最新評論

    建昌县| 峨眉山市| 甘泉县| 樟树市| 镇安县| 娱乐| 玛曲县| 民和| 银川市| 香格里拉县| 潮州市| 长泰县| 崇礼县| 左贡县| 克山县| 兴海县| 永州市| 沙河市| 神农架林区| 金乡县| 临西县| 新乡市| 甘肃省| 浦城县| 琼海市| 星座| 乌什县| 台中县| 江门市| 梓潼县| 吉首市| 广平县| 大余县| 东阿县| 大方县| 安化县| 昌黎县| 林芝县| 卓尼县| 兴文县| 通榆县|