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 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
clientX,pageX,offsetX,x,layerX,screenX,offsetLeft区别分析
Mar 12 Javascript
将光标定位于输入框最右侧实现代码
Dec 04 Javascript
一个页面元素appendchild追加到另一个页面元素的问题
Jan 27 Javascript
JavaScript获取FCK编辑器信息的具体方法
Jul 12 Javascript
js实现的简单图片浮动效果完整实例
May 10 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
Mar 25 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
Apr 10 jQuery
微信小程序实现美团菜单
Jun 06 Javascript
vue动态绑定class选中当前列表变色的方法示例
Dec 19 Javascript
JavaScript实现选项卡效果的分析及步骤
Apr 16 Javascript
解决vant框架做H5时踩过的坑(下拉刷新、上拉加载等)
Nov 11 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
WIN98下Apache1.3.14+PHP4.0.4的安装
2006/10/09 PHP
PHP 获取目录下的图片并随机显示的代码
2009/12/28 PHP
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
PHP获取当前时间不准确问题解决方案
2020/08/14 PHP
extjs 学习笔记(三) 最基本的grid
2009/10/15 Javascript
JavaScript高级程序设计 扩展--关于动态原型
2010/11/09 Javascript
jQuery 选择器、DOM操作、事件、动画
2010/11/25 Javascript
jquery实现Li滚动时滚动条自动添加样式的方法
2015/08/10 Javascript
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
jQuery实现可以控制图片旋转角度效果(附demo源码下载)
2016/01/27 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
利用JQuery实现datatables插件的增加和删除行功能
2017/01/06 Javascript
vue实现添加标签demo示例代码
2017/01/21 Javascript
JS实现提示框跟随鼠标移动
2019/08/27 Javascript
js仿京东放大镜效果
2020/08/09 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
原生JS实现音乐播放器
2021/01/26 Javascript
[01:32]2016国际邀请赛中国区预选赛IG战队首日赛后采访
2016/06/27 DOTA
详解Python中的strftime()方法的使用
2015/05/22 Python
python win32 简单操作方法
2017/05/25 Python
Python批量发送post请求的实现代码
2018/05/05 Python
Pandas GroupBy对象 索引与迭代方法
2018/11/16 Python
使用pandas读取文件的实现
2019/07/31 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
python 等差数列末项计算方式
2020/05/03 Python
在Django中自定义filter并在template中的使用详解
2020/05/19 Python
Django利用elasticsearch(搜索引擎)实现搜索功能
2020/11/26 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
回馈慈善的设计师太阳镜:DIFF eyewear
2019/10/17 全球购物
材料物理专业求职信
2014/09/01 职场文书
2014年店长工作总结
2014/11/17 职场文书
2016年寒假生活小结
2015/10/10 职场文书
销售会议开幕词
2016/03/04 职场文书
职场新人知识:如何制定一份合理的工作计划?
2019/09/11 职场文书
python 提取html文本的方法
2021/05/20 Python
Docker下安装Oracle19c
2022/04/13 Servers