使用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


相关推荐: Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  如何挑选优质建站一级代理提升网站排名?  Laravel如何使用Passport实现OAuth2?(完整配置步骤)  如何获取上海专业网站定制建站电话?  Laravel集合Collection怎么用_Laravel集合常用函数详解  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  Linux安全能力提升路径_长期防护思维说明【指导】  绝密ChatGPT指令:手把手教你生成HR无法拒绝的求职信  C++用Dijkstra(迪杰斯特拉)算法求最短路径  如何在局域网内绑定自建网站域名?  制作电商网页,电商供应链怎么做?  利用vue写todolist单页应用  jQuery validate插件功能与用法详解  ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】  微信小程序 input输入框控件详解及实例(多种示例)  html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】  phpredis提高消息队列的实时性方法(推荐)  Python制作简易注册登录系统  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  公司网站制作需要多少钱,找人做公司网站需要多少钱?  公司门户网站制作公司有哪些,怎样使用wordpress制作一个企业网站?  Laravel如何处理和验证JSON类型的数据库字段  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  成都网站制作公司哪家好,四川省职工服务网是做什么用?  EditPlus中的正则表达式实战(6)  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  Windows Hello人脸识别突然无法使用  企业网站制作这些问题要关注  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  如何快速生成高效建站系统源代码?  哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  Linux系统运维自动化项目教程_Ansible批量管理实战  Laravel Admin后台管理框架推荐_Laravel快速开发后台工具  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel如何处理表单验证?(Requests代码示例)  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  linux top下的 minerd 木马清除方法  深圳网站制作培训,深圳哪些招聘网站比较好?  Python3.6正式版新特性预览  Laravel如何发送系统通知?(Notification渠道示例)  ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  如何快速搭建二级域名独立网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  js实现点击每个li节点,都弹出其文本值及修改