中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Layui之table中的radio在切換分頁時無法記住選中狀態的解決方法

發布時間:2020-09-21 14:13:03 來源:腳本之家 閱讀:260 作者:xcmercy 欄目:web開發

情景描述

Layui數據表格中用到了表單元素radio,在當前頁面選中radio狀態,并同步更新到保存表格中所有的數據的數組中(獲取表格中的所有數據并保存到數組中),再點擊分頁組件中的下一頁、上一頁、跳轉按鈕進行切換另外一個頁面,然后在切換回之前的頁面,會發現在以前頁面上radio狀態全部恢復默認了,我們當然是希望能保存住前一頁radio的選中狀態。

我寫項目遇到的一個的情況:在第一頁選中的radio的狀態,點擊下一頁按鈕切換到第二頁,然后再點擊上一頁切換會第一頁,第一頁中的radio狀態就恢復默認了。

原因分析

點擊分頁組件中的小組件進行切換頁面時,渲染切換到的目標頁面所使用的數據并不是更新后的tableContent中的數據,而是使用的table模塊緩存中的數據,而我們只更新完tableContent中的數據時它并不會同步更新table模塊緩存中的數據,所以導致了切換頁面的時候無法記住radio的狀態。

解決辦法

弄清楚問題原因解決起來就很簡單了,只需要再點擊radio的時候,同步更新tableContent中的數據和table模塊緩存中的數據就可以了(數據是放在table的cache屬性中的,如下圖)。

數據表格

Layui之table中的radio在切換分頁時無法記住選中狀態的解決方法

table中的數據

Layui之table中的radio在切換分頁時無法記住選中狀態的解決方法

代碼

layui.use(['form','layer','element','table','laypage'],function(){
 var form = layui.form;
 var layer = layui.layer;
 var element = layui.element;
 var table = layui.table;
 var laypage = layui.laypage;

 // 存儲數據表格中的原始數據也就是索引鍵信息
 var tableContent = new Array();

 // 監聽數據表格中的radio,更新原始數據數據中的radio狀態,同時更新數據表格的緩存
 form.on('radio(sortRadio)',function(data){
 console.log(data);
 console.log(data.elem); //得到radio原始DOM對象
 console.log(data.value); //被點擊的radio的value值

 var radioValue = data.value;

 // 獲取customId
 var radioName = $(data.elem).attr('name');
 var tempArr = radioName.split('-');
 var customId = parseInt(tempArr[1]);

 console.table(tableContent);

 // 將選擇的排序方式更新到原始數據數組中
 $.each(tableContent,function(index,data){
  if (data.customId === customId) {
   data.indexOrder = radioValue;
  }
 });

 console.log(table);
 console.table(tableContent);

 // 更新緩存中的排序方式
 var cacheData = table.cache.indexKeyTable;
 $.each(cacheData,function(index,data){
  if (data.customId === customId) {
   data.indexOrder = radioValue;
  }
 });
 console.table(table.cache.indexKeyTable);

 });
})

以上這篇Layui之table中的radio在切換分頁時無法記住選中狀態的解決方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持億速云。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新绛县| 寻甸| 平塘县| 长治市| 大宁县| 墨脱县| 达日县| 宿州市| 保亭| 成武县| 镶黄旗| 沧州市| 方正县| 忻城县| 平顺县| 黄浦区| 新蔡县| 泾川县| 宣武区| 大田县| 光山县| 东安县| 治县。| 顺昌县| 苏州市| 城市| 昌黎县| 山丹县| 镇远县| 枣庄市| 团风县| 双辽市| 灵台县| 郁南县| 庆元县| 高邮市| 长白| 神农架林区| 十堰市| 盐池县| 和林格尔县|