vue.js框架实现表单排序和分页效果

发布时间 - 2026-01-11 02:42:56    点击率:

本文实例为大家分享了vue.js实现表单排序和分页的具体代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <script src="../lib/vue.min.js" type="text/javascript"></script>
  <title>表格组件</title>
 </head>
 <body>
  <div id="app">
   <mydiv v-bind:info="info" v-bind:header="header" v-bind:num="num" v-bind:page="page"></mydiv>
  </div>
  <script type="text/x-template" id="mysc">
   <div>
    <table>
     <tr>
      <th v-for='x in header' v-on:click="bit(x)">{{x.key}}</th>
     </tr>
     <tr v-for="y in fenye">
      <th v-for="x in header">{{y[x.name]}}</th>
     </tr>
    </table>
    <button v-on:click="lastPage">上一页</button>   
    <button v-on:click="nextPage">下一页</button>  
   </div>
  </script>
  <script type="text/javascript">
   Vue.component('mydiv',{
    template:'#mysc',
    props:{
     /*属性不能用驼峰命名法*/
     info:Array,
     header:Array,
     num:Number,
     page:Number,
     boolen:Boolean,
     tiaojian:String
    },
    data: function() {
     return {}
    },
    computed:{
     fenye:function(){
      /*排序*/
      var list=this.info;
      var paixu=this.tiaojian;
       for(var i = 1;i<list.length;i++){
        for(var j=0;j<list.length-i;j++){
         if(this.boolen){
          if(list[j][paixu]>list[j+1][paixu]){
           var k=list[j+1];
           list[j+1]=list[j];
           list[j]=k;
          }
         }else{
          if(list[j][paixu] < list[j + 1][paixu]) {
           var k;
           k = list[j];
           list[j] = list[j + 1];
           list[j + 1] = k;
          }
         }
        }
       }
      /*分页*/
      var list2 = [];
      var start= this.num*(this.page-1);
      var end=start+this.num;
      if(end<list.length){
       for(var i =start;i<end;i++){
        list2.push(list[i])
       }
      }else{
       for(var i =start;i<list.length;i++){
        list2.push(list[i])
       }
      }
      return list2;
     }
    },
    methods:{
     bit:function(x){
      this.boolen=!this.boolen;
      this.tiaojian=x.name;      
     },
     lastPage:function(){
      console.log(this.num)
      if(this.page > 1) {
       this.page = this.page - 1;
      }
     },
     nextPage: function() {
      var pageNum = this.info.length / this.num;
      if(this.page < pageNum) {
       this.page = this.page + 1;
      }
     }
    }
   })

   var phone=new Vue({
    el:'#app',
    data:{
     boolen:true,
     num:5,
     page:1,
     info:[],
     header:[{
      key: '名称',
      name:'name'
     }, {
      key: '价格',
      name:'price'
     }, {
      key: '数量',
      name:'num'
     }]
    }
   })
   for(var i = 0;i<22;i++){
     phone.info.push({
     name:'手机'+i,
     num:i,
     price:100*i
     })
     console.log(111)
   }
  </script>
 </body>
</html>


效果图:

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


# vue.js  # 表单排序  # 分页  # Vue.js实现多条件筛选、搜索、排序及分页的表格功能  # Vue.js bootstrap前端实现分页和排序  # Vue.js结合bootstrap前端实现分页和排序效果  # 基于Vue.js的表格分页组件  # vuejs2.0实现一个简单的分页示例  # Vue.js实现分页查询功能  # vue.js表格分页示例  # vuejs手把手教你写一个完整的购物车实例代码  # 用vuex写了一个购物车H5页面的示例代码  # vue 2.0 购物车小球抛物线的示例代码  # Vue+Node实现商品列表的分页、排序、筛选  # 添加购物车功能详解  # 下一页  # 上一页  # 不能用  # 大家分享  # 表单  # 具体内容  # 大家多多  # body  # title  # id  # div  # javascript  # min  # lib  # text  # type  # app  # template  # page 


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


相关推荐: 详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel怎么实现支付功能_Laravel集成支付宝微信支付  如何快速生成可下载的建站源码工具?  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  头像制作网站在线观看,除了站酷,还有哪些比较好的设计网站?  ,南京靠谱的征婚网站?  如何打造高效商业网站?建站目的决定转化率  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  javascript读取文本节点方法小结  米侠浏览器网页背景异常怎么办 米侠显示修复  独立制作一个网站多少钱,建立网站需要花多少钱?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  Laravel如何使用withoutEvents方法临时禁用模型事件  如何用虚拟主机快速搭建网站?详细步骤解析  实例解析Array和String方法  如何在万网自助建站平台快速创建网站?  网站页面设计需要考虑到这些问题  悟空识字怎么关闭自动续费_悟空识字取消会员自动扣费步骤  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  北京网站制作公司哪家好一点,北京租房网站有哪些?  制作公司内部网站有哪些,内网如何建网站?  🚀拖拽式CMS建站能否实现高效与个性化并存?  猎豹浏览器开发者工具怎么打开 猎豹浏览器F12调试工具使用【前端必备】  如何快速生成ASP一键建站模板并优化安全性?  Win11关机界面怎么改_Win11自定义关机画面设置【工具】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  什么是javascript作用域_全局和局部作用域有什么区别?  用v-html解决Vue.js渲染中html标签不被解析的问题  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  Laravel如何使用API Resources格式化JSON响应_Laravel数据资源封装与格式化输出  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  开心动漫网站制作软件下载,十分开心动画为何停播?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  php静态变量怎么调试_php静态变量作用域调试技巧【解答】  利用python获取某年中每个月的第一天和最后一天  什么是JavaScript解构赋值_解构赋值有哪些实用技巧  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何将凡科建站内容保存为本地文件?  Laravel如何使用Service Container和依赖注入?(代码示例)  如何在企业微信快速生成手机电脑官网?  免费网站制作appp,免费制作app哪个平台好?  网站建设要注意的标准 促进网站用户好感度!  如何用低价快速搭建高质量网站?  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  实例解析angularjs的filter过滤器  如何快速查询域名建站关键信息?  如何在香港服务器上快速搭建免备案网站?