当前位置: 首页 > 编程笔记 >

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

诸经略
2023-03-14
本文向大家介绍vue.js框架实现表单排序和分页效果,包括了vue.js框架实现表单排序和分页效果的使用技巧和注意事项,需要的朋友参考一下

本文实例为大家分享了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 2.0实现简单分页效果,包括了vue.js 2.0实现简单分页效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了vue.js 2.0实现分页效果的具体代码,供大家参考,具体内容如下 效果图 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 本文向大家介绍SpringBoot2 实现JPA分页和排序分页的案例,包括了SpringBoot2 实现JPA分页和排序分页的案例的使用技巧和注意事项,需要的朋友参考一下 分页 application.yml 实体类 Repository接口类 service 接口类 Service 实现类 Controller控制器类 分页显示的json格式串 http://localhost:8080/emp

  • 本文向大家介绍Laravel框架分页实现方法分析,包括了Laravel框架分页实现方法分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Laravel框架分页实现方法。分享给大家供大家参考,具体如下: Laravel使用的过程中,有些功能把前端页面的表达“写死了”,比如分页的翻页按钮! 当然你会说Laravel的Bootstrap样式也很好看啊,但是实际项目中,翻页按钮常常需要满足的客户

  • 分页 使用 limit 和 offset 来控制分页数据: limit 指定该请求返回的结果个数 offset 偏移量,指定该请求返回的结果的起始位置 默认 limit 为 20, offset 为 0,我们也可以手动指定 limit 和 offset 来控制。例如,每页展示 100 条数据,需要获取第五页的数据,将 limit 设置为 100、offset 设置为 400 即可。limit 最大

  • {% tabs first=”SDK 1.1.0 及以上版本”, second=”SDK 1.1.0 以下版本” %} {% content “first” %} SDK 1.1.0 及以上版本 分页 使用 limit 和 offset 来控制分页数据: limit 指定该请求返回的结果个数 offset 偏移量,指定该请求返回的结果的起始位置 默认 limit 为 20, offset 为 0,

  • 本文向大家介绍Django框架实现的简单分页功能示例,包括了Django框架实现的简单分页功能示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Django框架实现的简单分页功能。分享给大家供大家参考,具体如下: 前面一篇《Django开发的简易留言板》写了个简单的留言板,如果数据量太多的话在一页显示就不那么友好了,本文就是做一个分页显示。 代码在上一篇的基础上修改。 导入分页模块并修改