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

发布时间 - 2026-01-11 01:46:26    点击率:

想法很简单,用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页后面的页。

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

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


# vue  # datatables分页  # datatables服务器端分页  # 表格分页  # Vue+ElementUI table实现表格分页  # Vue+element-ui 实现表格的分页功能示例  # 利用vue和element-ui设置表格内容分页的实例  # 利用vue + element实现表格分页和前端搜索的方法  # Vue Cli与BootStrap结合实现表格分页功能  # vue.js表格分页示例  # 基于Vue.js的表格分页组件  # Vue+Element UI+Lumen实现通用表格分页功能  # Vue组件库ElementUI实现表格列表分页效果  # 很简单  # 分页  # 大家多多  # 用户列表  # 再重新  # 正常显示  # 复用  # pageNo  # length  # result  # start  # user  # AccessControlSystem  # pageSize  # selectByPrimary  # draw  # getRoleForUser  # html  # settings  # rendorUserList 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  iOS发送验证码倒计时应用  如何在橙子建站上传落地页?操作指南详解  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  高端云建站费用究竟需要多少预算?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法  如何快速上传建站程序避免常见错误?  Laravel Octane如何提升性能_使用Laravel Octane加速你的应用  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  Android okhttputils现在进度显示实例代码  如何在 React 中条件性地遍历数组并渲染元素  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  JavaScript如何实现路由_前端路由原理是什么  html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】  Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践  如何用5美元大硬盘VPS安全高效搭建个人网站?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  浅谈javascript alert和confirm的美化  网页设计与网站制作内容,怎样注册网站?  Android 常见的图片加载框架详细介绍  如何在服务器上配置二级域名建站?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  如何在IIS中新建站点并配置端口与IP地址?  如何有效防御Web建站篡改攻击?  JS去除重复并统计数量的实现方法  HTML5空格和margin有啥区别_空格与外边距的使用场景【说明】  大连 网站制作,大连天途有线官网?  如何实现建站之星域名转发设置?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  如何确认建站备案号应放置的具体位置?  香港服务器选型指南:免备案配置与高效建站方案解析  Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】  如何用y主机助手快速搭建网站?  最好的网站制作公司,网购哪个网站口碑最好,推荐几个?谢谢?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  如何在宝塔面板创建新站点?  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  千库网官网入口推荐 千库网设计创意平台入口  EditPlus中的正则表达式 实战(2)  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  Linux系统命令中tree命令详解  大学网站设计制作软件有哪些,如何将网站制作成自己app?  昵图网官网入口 昵图网素材平台官方入口  Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解