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 相关文章推荐
javascript动态向网页中添加表格实现代码
Feb 19 Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
Jun 10 Javascript
兼容主流浏览器的jQuery+CSS 实现遮罩层的简单代码
Oct 14 Javascript
javascript实现页面刷新时自动清空表单并选中的方法
Jul 18 Javascript
基于jPlayer三分屏的制作方法
Dec 21 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
Jan 06 Javascript
微信小程序学习(4)-系统配置app.json详解
Jan 12 Javascript
BootStrap 弹出层代码
Feb 09 Javascript
微信小程序获取微信运动步数的实例代码
Jul 20 Javascript
JavaScript使用Math.random()生成简单的验证码
Jan 21 Javascript
vue.js基于v-for实现批量渲染 Json数组对象列表数据示例
Aug 03 Javascript
JavaScript实现酷炫的鼠标拖尾特效
Feb 18 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
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
php max_execution_time执行时间问题
2011/07/17 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
不常用但很实用的PHP预定义变量分析
2019/06/25 PHP
javascript call和apply方法
2008/11/24 Javascript
Javascript下IE与Firefox下的差异兼容写法总结
2010/06/18 Javascript
基于jQuery中对数组进行操作的方法
2013/04/16 Javascript
jQuery解决input超多的表单提交
2015/08/10 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
vue2的todolist入门小项目的详细解析
2017/05/11 Javascript
JavaScript实现购物车基本功能
2017/07/21 Javascript
VsCode插件整理(小结)
2017/09/14 Javascript
vue 国际化 vue-i18n 双语言 语言包
2018/06/07 Javascript
vue-quill-editor富文本编辑器简单使用方法
2018/09/21 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
js加减乘除精确运算方法实例代码
2021/01/17 Javascript
[54:33]2018DOTA2亚洲邀请赛小组赛 A组加赛 Liquid vs Optic
2018/04/03 DOTA
python中偏函数partial用法实例分析
2015/07/08 Python
python实现旋转和水平翻转的方法
2018/10/25 Python
Django学习笔记之为Model添加Action
2019/04/30 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
Windows上安装tensorflow  详细教程(图文详解)
2020/02/04 Python
使用Pycharm在运行过程中,查看每个变量的操作(show variables)
2020/06/08 Python
Python .py生成.pyd文件并打包.exe 的注意事项说明
2021/03/04 Python
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
Canvas波浪花环的示例代码
2020/08/21 HTML / CSS
全球最大的中文旅行网站:去哪儿网
2017/11/16 全球购物
大学生实习证明范本
2014/01/15 职场文书
鸿星尔克广告词
2014/03/21 职场文书
《夕阳真美》教学反思
2014/04/27 职场文书
个人查摆剖析材料
2014/10/04 职场文书
批评与自我批评范文
2014/10/15 职场文书
2014年志愿者工作总结
2014/11/20 职场文书
2016年村干部公开承诺书(公开承诺事项)
2016/03/25 职场文书
Python&Matlab实现灰狼优化算法的示例代码
2022/03/21 Python