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 相关文章推荐
style、 currentStyle、 runtimeStyle区别分析
Aug 01 Javascript
Javascript 命名空间模式
Nov 01 Javascript
使用jQuery判断IE浏览器版本的代码
Jun 14 Javascript
黑帽seo劫持程序,js劫持搜索引擎代码
Sep 15 Javascript
使用ajaxfileupload.js实现上传文件功能
Aug 13 Javascript
node.js实现回调的方法示例
Mar 01 Javascript
使用vue-route 的 beforeEach 实现导航守卫(路由跳转前验证登录)功能
Mar 22 Javascript
JQuery实现ajax请求的示例和注意事项
Dec 10 jQuery
jQuery移动端跑马灯抽奖特效升级版(抽奖概率固定)实现方法
Jan 18 jQuery
javascript中floor使用方法总结
Feb 02 Javascript
浅谈Javascript常用正则表达式应用
Mar 08 Javascript
JavaScript中10个Reduce常用场景技巧
Jun 21 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
初学PHP的朋友 经常问的一些问题。不断更新
2011/08/11 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
php的dl函数用法实例
2014/11/06 PHP
PHP表单验证内容是否为空的实现代码
2016/11/14 PHP
JavaScript中的Location地址对象
2008/01/16 Javascript
Javascript面向对象编程(二) 构造函数的继承
2011/08/28 Javascript
多个表单中如何获得这个文件上传的网址实现js代码
2013/03/25 Javascript
ie 7/8不支持trim的属性的解决方案
2014/05/23 Javascript
用iframe实现不刷新整个页面上传图片的实例
2016/11/18 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
JS实现页面打印功能
2017/03/16 Javascript
layui导航栏实现代码
2017/05/19 Javascript
Python操作MySQL数据库9个实用实例
2015/12/11 Python
详解Python中的from..import绝对导入语句
2016/06/21 Python
详解supervisor使用教程
2017/11/21 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
详解python实现数据归一化处理的方式:(0,1)标准化
2019/07/17 Python
Pytorch to(device)用法
2020/01/08 Python
tensorflow多维张量计算实例
2020/02/11 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
荷兰和比利时时尚鞋店:Van Dalen
2018/04/23 全球购物
荷兰最大的鞋子、服装和运动折扣店:Bristol
2021/01/07 全球购物
软件生产职位结构化面试主要考察要素及面试题库
2015/06/12 面试题
JSF的标签库有哪些
2012/04/27 面试题
师生聚会感言
2014/01/26 职场文书
十八大报告观后感
2014/01/28 职场文书
高中军训感言1000字
2014/03/01 职场文书
质量承诺书范文
2014/03/27 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
2015年保险公司个人工作总结
2015/05/22 职场文书
参观监狱警示教育心得体会
2016/01/15 职场文书
pytorch锁死在dataloader(训练时卡死)
2021/05/28 Python
深入理解java.lang.String类的不可变性
2021/06/27 Java/Android
详解Redis的三种常用的缓存读写策略步骤
2022/05/06 Redis
Nginx 常用配置
2022/05/15 Servers