Layui數據表格 加入 自定義擴展方法(從新渲染Render當前頁數據)

具體開發中遇到的問題以下,緩存

數據表格內的 內容 經過 table.cache["SampleList"] 修改後,從新渲染或從新加載會致使當前操做的分頁 和 配置被清空。我修改了第5頁第X行的X列值,從新渲染後就回到了最原始第1頁或從新調用了接口。ui

Layui 官方提供的文檔 提供的刷新表格方法有幾種spa

1 var obj = table.render({});//生成一個數據表格

1.obj.Reload (這個方法會根據初始化表格的Option {} ,從新調用接口加載一次)code

2.Table.Render(這個無效果)blog

 ---------------------------------------------------- ---------------------------------------------------- ---------------------------------------------------- ----------------------------------------------------索引

須要達到的效果是:接口

不調用接口,僅僅只是從table.cache["表ID"] 當前頁緩存裏從新渲染,開發

步驟:
1.將須要修改的列 值 使用table.cache["表ID"][「行索引」]["字段名"]=「xxxx」 進行修改文檔

2.調用本身寫的擴展方法,從新渲染到當前頁界面。it

 

這裏須要修改 原生js  lib\layui\lay\modules\table.js

將下面的擴展方法代碼 加入到  lib\layui\lay\modules\table.js 裏,原生js是壓縮了的,這裏的demo 格式化了一下。

 

要加入的擴展方法代碼以下:

不壓縮:

YRRender: function(cache) {
                if (cache == undefined) {
                    console.error("cache參數爲table.cache['表ID']");
                    return;
                }
                var s = {
                    data: cache
                };
                e.renderData(s, e.config.page.curr, e.config.page.limit, !0);
            }

 壓縮後:

YRRender: function (cache) { if (cache == undefined) { console.error("cache參數爲table.cache['表ID']"); return; } var s = { data: cache }; e.renderData(s, e.config.page.curr, e.config.page.limit, !0); }

 

調用方法:

將要改的數據 table.cache["SampleList"] 裏 進行修改後,

調用

obj.YRRender(table.cache["SampleList"]);//SampleList即 option 裏 elem: '#SampleList' 屬性

效果圖:

這裏我用js修改了cache裏的數據,而後調了YRRender方法。分頁爲改變,也未請求接口

相關文章
相關標籤/搜索