基于layui的数据表格,在修改第n页数据后页码还能保持在当前页面

简介: 基于layui的数据表格,在修改第n页数据后页码还能保持在当前页面

1.第一种方法


页面数据加载完之后把页码数存储到本地localStorage,页面数据重新渲染的时候指定页码为本地缓存中的页码。


优点是客户后面再打开页面直接展示上次阅读的页数,并且页面某行数据修改之后,页面重新渲染还能保留在当前页


缺点是重新渲染页面有类似刷新一样的效果,体验比较差。而且如果带有搜索条件之后,需要判断如果是搜索需要清空localStorage之中的页码数,如果直接点击页数不需要清空localStorage之中的页码数。


代码示例:

   , page: {
                 limit:  10
                , limits: [ 10, 15,  30,  60,  90,  120,  150]
                , curr: localStorage. getItem( "spgl_curr")? localStorage. getItem( "spgl_curr"): 1      //指定本地存储的页码
            }
            , done :  function ( res,  curr,  count) {     
                     console. log( res,  curr,  count);
                     localStorage. setItem( "spgl_curr", curr); //存储页码
            }

0.png

2.第二种方法(推荐)


不使用本地存贮页码数,在修改完某行记录后,发送ajax请求获取当前行最新的数据更新到此行对应位置即可。数据没有重新渲染,只是修改那条更新哪条,所以页面仍然保持在当前页面。


缺点是:客户后面再打开页面不能直接展示上次阅读的页数,但是能保证修改某条记录后依然保持在当前页面,页面无刷新。


可以方法1和方法2结合使用效果更佳

   layer. open({
                 type: 2,
                 title: "修改信息",
                 content: "{:url('add_good')}?id="+ id,
                 area:[ "800px", "520px"],
                 end : function (){
                     //return false;
                     //同步更新此条对应的值
                     //发送ajax请求页面
                     $. post( "{:url('ajax_get_good_info')}",{ id: id}, function( data){
                         obj. update({
                             goodsname:  data. info. goodsname
                            , goodsintegral:  data. info. goodsintegral
                            });
                }, "json")                    
                }
            })

1.png

修改某条记录页面代码如下:

    //一般直接写在一个js文件中
     layui. use([ 'element',  'form',  'layedit'],  function () {
       var  form =  layui. form;
       //监听提交1
       form. on( 'submit(sub)',  function ( data) {
         load =  layer. load( 2, {  shade: [ 0.1,  '#fff'] });
         $. post( "{:url('ajax_add_good')}",  data. field,  function ( data) {
           layer. close( load);
           if ( data. sta ==  1) {
             layer. msg( data. msg);
             setInterval( function () {
               window. parent. layer. closeAll(); //关闭弹窗
               //window.parent.get_table();
            },  1500);
          }  else {
             layer. msg( data. msg);
          }
        },  "json");
         return  false;
      });
    });
相关文章
|
18天前
|
存储 移动开发 JavaScript
使用vuex记住当前页面页码信息,以便从详情页返回列表页时能还原到上一次页面
使用vuex记住当前页面页码信息,以便从详情页返回列表页时能还原到上一次页面
31 0
|
7月前
|
SQL 前端开发 API
关于ElementUI之动态树+数据表格+分页实例
关于ElementUI之动态树+数据表格+分页实例
52 0
|
18天前
table最后一页所有数据批量删除或者单个删除,怎么自动回到上一页
table最后一页所有数据批量删除或者单个删除,怎么自动回到上一页
|
18天前
|
缓存 JavaScript 前端开发
vue + element Table的数据多选,多页选择数据回显,分页记录保存选中的数据。
vue + element Table的数据多选,多页选择数据回显,分页记录保存选中的数据。
|
6月前
|
数据采集 JSON 小程序
小程序警告:根据 sitemap 的规则[0],当前页面 [pagesindexindex] 将被索引
这是一个警告的提示,至于是否影响性能,这个我不太清除。 根据官方文档的说法:微信已开放小程序内搜索,开发者可以通过 sitemap.json 配置,或者管理后台页面收录开关来配置其小程序页面是否允许微信索引。当开发者允许微信索引时,微信会通过爬虫的形式,为小程序的页面内容建立索引。 就是说用户可以根据微信吧爬虫给你提供的索引更快的搜索到你。 最简单的方法就是你直接把配置关了不让他索引:
128 0
|
前端开发
前端列表页+element-puls实现列表数据弹窗功能
前端列表页+element-puls实现列表数据弹窗功能
298 0
layui不同 li 不同数据表格,当前数据表格刷新后原定位到之前的 li
layui不同 li 不同数据表格,当前数据表格刷新后原定位到之前的 li
|
JavaScript API
快速搞定,查询 + 表格,这种页面
快速搞定,查询 + 表格,这种页面
184 0
|
JavaScript
分页之:下拉列表选择页码的回显功能
本文主要讲下拉列表选择页码的回显功能
260 0
|
JavaScript
在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接
在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接
316 0
在页面上绘制一张表格,使用 DOM 节点的动态添加和删除向表格中插入数据,点击表格每行后的“删除”超链接

热门文章

最新文章