使用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 相关文章推荐
prototype 1.5 &amp; scriptaculous 1.6.1 学习笔记
Sep 07 Javascript
Javascript 构造函数 实例分析
Nov 26 Javascript
再论Javascript下字符串连接的性能
Mar 05 Javascript
Extjs4 GridPanel 的几种样式使用介绍
Apr 18 Javascript
jQuery实现类似滑动门切换效果的层切换
Sep 23 Javascript
js实现文章文字大小字号功能完整实例
Nov 01 Javascript
javascript弹出窗口实现代码
Nov 12 Javascript
JavaScript+html5 canvas制作色彩斑斓的正方形效果
Jan 27 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
Sep 05 Javascript
div实现自适应高度的textarea实现angular双向绑定
Jan 08 Javascript
用angular实现多选按钮的全选与反选实例代码
May 23 Javascript
微信小程序实现点击文字页面跳转功能【附源码下载】
Dec 12 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与SQL注入攻击[一]
2007/04/17 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
PHP数组交集的优化代码分析
2011/03/06 PHP
PHPEXCEL 使用小记
2013/01/06 PHP
微信自定义菜单的处理开发示例
2015/04/16 PHP
php字符集转换
2017/01/23 PHP
浅谈Yii乐观锁的使用及原理
2017/07/25 PHP
jquery使用ajax实现微信自动回复插件
2014/04/28 Javascript
JS闭包可被利用的常见场景小结
2017/04/09 Javascript
微信小程序 实现列表项滑动显示删除按钮的功能
2017/04/13 Javascript
vue富文本编辑器组件vue-quill-edit使用教程
2018/09/21 Javascript
jQuery实现动态添加和删除input框实例代码
2019/03/26 jQuery
Vue+Element实现网页版个人简历系统(推荐)
2019/12/31 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
[03:14]辉夜杯主赛事 12月25日每日之星
2015/12/26 DOTA
python查找第k小元素代码分享
2013/12/18 Python
Python实现的多线程端口扫描工具分享
2015/01/21 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Python实现以时间换空间的缓存替换算法
2016/02/19 Python
Python缩进和冒号详解
2016/06/01 Python
Python3 Random模块代码详解
2017/12/04 Python
python 删除指定时间间隔之前的文件实例
2018/04/24 Python
便捷提取python导入包的属性方法
2018/10/15 Python
实现Python3数组旋转的3种算法实例
2020/09/16 Python
python性能测试工具locust的使用
2020/12/28 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
HTML5超炫酷粒子效果的进度条的实现示例
2019/08/23 HTML / CSS
伦敦一卡通:The London Pass
2018/11/30 全球购物
台湾租车首选品牌:IWS艾维士租车
2019/05/03 全球购物
银行财务部实习生的自我鉴定
2013/11/27 职场文书
学校领导班子四风问题整改意见
2014/10/02 职场文书
元旦联欢晚会主持词
2015/07/01 职场文书
python使用matplotlib绘制图片时x轴的刻度处理
2021/08/30 Python
Win11安装升级时提示“该电脑必须支持安全启动”
2022/04/19 数码科技
MySQ InnoDB和MyISAM存储引擎介绍
2022/04/26 MySQL
Python软件包安装的三种常见方法
2022/07/07 Python