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


Posted in Javascript onAugust 09, 2017

本文实例为大家分享了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框架实现表单排序和分页效果

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

Javascript 相关文章推荐
一直复略了的一个问题,关于表单重复提交
Feb 15 Javascript
jquery中交替点击事件的实现代码
Feb 14 Javascript
怎么通过onclick事件获取js函数返回值(代码少)
Jul 28 Javascript
JS动态改变浏览器标题的方法
Apr 06 Javascript
jquery的父、子、兄弟节点查找,节点的子节点循环方法
Dec 07 Javascript
详解在Angularjs中ui-sref和$state.go如何传递参数
Apr 24 Javascript
webpack4 CSS Tree Shaking的使用
Sep 03 Javascript
vue中render函数的使用详解
Oct 12 Javascript
JavaScript如何获取一个元素的样式信息
Jul 29 Javascript
JavaScript创建表格的方法
Apr 13 Javascript
Vue select 绑定动态变量的实例讲解
Oct 22 Javascript
nginx配置域名后的二级目录访问不同项目的配置操作
Nov 06 Javascript
vue页面使用阿里oss上传功能的实例(一)
Aug 09 #Javascript
快速掌握jquery分页插件jqPaginator的使用方法
Aug 09 #jQuery
vue 打包后的文件部署到express服务器上的方法
Aug 09 #Javascript
vuejs事件中心管理组件间的通信详解
Aug 09 #Javascript
JS实现的加减乘除四则运算计算器示例
Aug 09 #Javascript
AngularJS ionic手势事件的使用总结
Aug 09 #Javascript
Vue2.0实现将页面中表格数据导出excel的实例
Aug 09 #Javascript
You might like
如何过滤高亮显示非法字符
2006/10/09 PHP
PHP投票系统防刷票判断流程分析
2012/02/04 PHP
ThinkPHP静态缓存简单配置和使用方法详解
2016/03/23 PHP
详解php实现页面静态化原理
2017/06/21 PHP
Laravel5.5新特性之友好报错以及展示详解
2017/08/13 PHP
PHP钩子与简单分发方式实例分析
2017/09/04 PHP
Prototype Array对象 学习
2009/07/19 Javascript
javascript学习笔记(十三) js闭包介绍(转)
2012/06/20 Javascript
javascript window.confirm确认 取消对话框实现代码小结
2012/10/21 Javascript
比较不错的JS/JQuery显示或隐藏文本的方法
2014/02/13 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
深入分析jquery解析json数据
2014/12/09 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
在AngularJS中使用AJAX的方法
2015/06/17 Javascript
JS实现的3D拖拽翻页效果代码
2015/10/31 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
基于Vue2的移动端开发环境搭建详解
2016/11/03 Javascript
Javascript使用uploadify来实现多文件上传
2016/11/16 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
微信小程序 配置顶部导航条标题颜色的实现方法
2017/09/20 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
jQuery实现表格的增、删、改操作示例
2019/01/27 jQuery
Python中pandas模块DataFrame创建方法示例
2018/06/20 Python
Python中正反斜杠(‘/’和‘\’)的意义与用法
2019/08/12 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
护士在校生自荐信
2014/02/01 职场文书
税务干部鉴定材料
2014/02/11 职场文书
给学校建议书范文
2014/05/13 职场文书
思想纪律作风整顿剖析材料
2014/10/11 职场文书
房产公证书样本
2015/01/23 职场文书
2015年房地产个人工作总结
2015/05/26 职场文书
2019年消防宣传标语集锦
2019/11/21 职场文书
Vue CLI中模式与环境变量的深入详解
2021/05/30 Vue.js
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js
详解MongoDB排序时内存大小限制与创建索引的注意事项
2022/05/06 MongoDB