DataTable定位到某页

项目场景:

首页点击 a 标签重定向到另一个页面,然后从另一个页面返回到首页时需要DataTable重新定位到之前页数

问题描述:

尝试用了下表格渲染成功的监听事件,但是每次跳页成功后这个事件又被监听到,然后死循环崩溃
$table.on('draw.dt', function () {
        // 获取表格分页信息
        let info = $table.DataTable().page.info();
        // 获取是否跳页flag
        let flag = $.session.get('jumpPageFlag');
        if(flag === "false" || flag === null ){
        	// 之前保存的页面数
            let plTableNum = $.session.getInt('plTableNum');
           	// 跳页
            $table.dataTable().api().page(plTableNum).draw(false);
        }
 }

解决方案:

换个思路 , 用定时器定时刷新跳页flag的状态 , 让程序不至于陷入死循环
// 每次跳页时保存当前页数 , 这里使用了sessionStorage
$table.on('page.dt', function () {
	var info = $table.DataTable().page.info();
	$.session.set('plTableNum', info.page);
});

// 每次表格渲染成功后, 判断是否跳页
$table.on('draw.dt', function () {
	let info = $table.DataTable().page.info();

	let flag = $.session.get('jumpPageFlag');
	if(flag === "false" || flag === null ){
		let plTableNum = $.session.getInt('plTableNum');

		if(info.pages>0 && info.pages >= plTableNum){
			$.session.set('jumpPageFlag',true);

			$table.dataTable().api().page(plTableNum).draw(false);

			setTimeout(function(){
				$.session.set('jumpPageFlag',false);
			},1500);
		}
	}
});

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值