使用vue和datatables进行表格的服务器端分页实例代码


Posted in Javascript onJune 07, 2017

想法很简单,用vue生成表格的行,datatables生成分页信息,不想过程曲折,特此记录。

datatables端代码:

$('#dataTables-example').DataTable({ 
      responsive: true, 
      "serverSide" : true,  
      "ajax": function (data, callback, settings) { 
        postJson( 
            "/AccessControlSystem/user/selectByPrimary", 
            {'pageSize':data.length,'pageNo':data.start/data.length+1}, 
            function(result){ 
              callback({'draw':data.draw,'recordsTotal':userCount,'recordsFiltered':userCount,'data':[]}); 
              $("#userList").html(""); 
              getRoleForUser(result.data); 
              rendorUserList(result.data); 
               
            } 
          ); 
      } 
       
    });

vue端代码:

//用户列表 
var UserListComponent = Vue.extend({ 
  template:  
  `<tbody id="userList"> 
  <tr v-for="(user, index) in userList" v-bind:class="index%2==0?'odd':'even'"> 
    <td>{{user.name}}</td> 
    <td> 
      <label v-for="role in user.roleList" class="checkbox-inline"> 
      <input type="checkbox" v-bind:value="role.id" disabled v-model="role.checked">{{role.name}} 
      </label> 
    </td> 
    <td>{{user.createTime}}</td> 
    <td class="center"><button type="button" class="btn btn-primary btn-xs" v-on:click="editUser(user.id)">修改</button></td> 
    <td class="center"><button type="button" class="btn btn-primary btn-xs" v-on:click="deleteUser(user.id)">删除</button></td> 
  </tr> 
  </tbody>`, 
  data: function () { 
    return {'userList':[]}; 
  }, 
  methods: { 
    editUser:function(id){}, 
    deleteUser:function(id){} 
  } 
}); 
 
 
function rendorUserList(userList){ 
  var userListComponent = new UserListComponent(); 
  userListComponent.userList = userList; 
  userListComponent.$mount('#userList');  
}

重点在rendorUserList函数中,每次生成表格行不能复用已有的vue实例,需要先destroy,再重新生成vue实例,否则无法正常显示第1页后面的页。

不知为何,希望懂原理的高手告知。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
通过event对象的fromElement属性解决热区设置主实体的一个bug
Dec 22 Javascript
jQuery getJSON 处理json数据的代码
Jul 26 Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 Javascript
网页整体变灰白色(兼容各浏览器)实例
Apr 21 Javascript
jQuery动态改变图片显示大小(修改版)的实现思路及代码
Dec 24 Javascript
jQuery基础知识小结
Dec 22 Javascript
纯js实现仿QQ邮箱弹出确认框
Apr 29 Javascript
javascript实现倒计时跳转页面
Jan 17 Javascript
JS定时器使用,定时定点,固定时刻,循环执行详解
May 31 Javascript
Vue-resource实现ajax请求和跨域请求示例
Feb 23 Javascript
Vue微信项目按需授权登录策略实践思路详解
May 07 Javascript
vue中的使用token的方法示例
Mar 10 Javascript
Angular 4 指令快速入门教程
Jun 07 #Javascript
jstree单选功能的实现方法
Jun 07 #Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 #jQuery
webpack打包单页面如何引用的js
Jun 07 #Javascript
vue使用Axios做ajax请求详解
Jun 07 #Javascript
Bootstrap fileinput文件上传组件使用详解
Jun 06 #Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 #Javascript
You might like
PHP学习之PHP变量
2006/10/09 PHP
php巧获服务器端信息
2006/12/06 PHP
php在window iis的莫名问题的测试方法
2013/05/14 PHP
php fsockopen伪造post与get方法的详解
2013/06/14 PHP
浅谈PHP链表数据结构(单链表)
2016/06/08 PHP
遍历指定目录,并存储目录内所有文件属性信息的php代码
2016/10/28 PHP
PHP解压ZIP文件到指定文件夹的方法
2016/11/17 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
javascript document.referrer 用法
2009/04/30 Javascript
单击按钮显示隐藏子菜单经典案例
2013/01/04 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
javascript获取以及设置光标位置
2017/02/16 Javascript
vue.js项目中实用的小技巧汇总
2017/11/29 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
vue-cli 引入jQuery,Bootstrap,popper的方法
2018/09/03 jQuery
详解Jest结合Vue-test-utils使用的初步实践
2019/06/27 Javascript
python学习必备知识汇总
2017/09/08 Python
python如何对实例属性进行类型检查
2018/03/20 Python
pandas实现选取特定索引的行
2018/04/20 Python
Python代码缩进和测试模块示例详解
2018/05/07 Python
Python双向循环链表实现方法分析
2018/07/30 Python
对python中的six.moves模块的下载函数urlretrieve详解
2018/12/19 Python
python设置环境变量的原因和方法
2019/06/24 Python
kali中python版本的切换方法
2019/07/11 Python
python 字典 setdefault()和get()方法比较详解
2019/08/07 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
python爬虫开发之selenium模块详细使用方法与实例全解
2020/03/09 Python
Python telnet登陆功能实现代码
2020/04/16 Python
创新型城市实施方案
2014/03/06 职场文书
竞选卫生委员演讲稿
2014/04/28 职场文书
大学生求职信范文
2014/05/24 职场文书
2014年祖国生日寄语
2014/09/19 职场文书
2016春季运动会通讯稿
2015/07/18 职场文书
2019个人工作计划书的格式及范文!
2019/07/04 职场文书
Python列表删除重复元素与图像相似度判断及删除实例代码
2021/05/07 Python
vue router 动态路由清除方式
2022/05/25 Vue.js