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


相关推荐: php增删改查怎么学_零基础入门php数据库操作必知基础【教程】  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  Java类加载基本过程详细介绍  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  JavaScript中的标签模板是什么_它如何扩展字符串功能  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  如何挑选最适合建站的高性能VPS主机?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】  如何用PHP快速搭建CMS系统?  java中使用zxing批量生成二维码立牌  手机软键盘弹出时影响布局的解决方法  Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】  网站优化排名时,需要考虑哪些问题呢?  音响网站制作视频教程,隆霸音响官方网站?  Android实现代码画虚线边框背景效果  如何获取免费开源的自助建站系统源码?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  Laravel怎么返回JSON格式数据_Laravel API资源Response响应格式化【技巧】  如何正确下载安装西数主机建站助手?  5种Android数据存储方式汇总  Laravel安装步骤详细教程_Laravel环境搭建指南  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  EditPlus 正则表达式 实战(3)  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  专业商城网站制作公司有哪些,pi商城官网是哪个?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  Windows Hello人脸识别突然无法使用  Laravel怎么在Blade中安全地输出原始HTML内容  Laravel项目如何进行性能优化_Laravel应用性能分析与优化技巧大全  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  如何彻底卸载建站之星软件?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区  ,交易猫的商品怎么发布到网站上去?  C++用Dijkstra(迪杰斯特拉)算法求最短路径  Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】  如何在局域网内绑定自建网站域名?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧  Bootstrap整体框架之JavaScript插件架构