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 相关文章推荐
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
Mar 09 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
当自定义数据属性为json格式字符串时jQuery的data api问题探讨
Feb 18 Javascript
浅析jquery某一元素重复绑定的问题
Jan 03 Javascript
javascript动态设置样式style实例分析
May 13 Javascript
javascript实现日期按月份加减
May 15 Javascript
基于Bootstrap重置输入框内容按钮插件
May 12 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
D3.js实现散点图和气泡图的方法详解
Sep 21 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
Mar 13 Javascript
Electron中实现大文件上传和断点续传功能
Oct 28 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 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
跟我学Laravel之路由
2014/10/15 PHP
百度工程师讲PHP函数的实现原理及性能分析(一)
2015/05/13 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
PHP实现模拟http请求的方法分析
2017/12/20 PHP
php实例化一个类的具体方法
2019/09/19 PHP
PHP数据源架构模式之表入口模式实例分析
2020/01/23 PHP
PHP实现计算器小功能
2020/08/28 PHP
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
Jquery焦点与失去焦点示例应用
2014/06/10 Javascript
JavaScript 基本概念
2015/01/20 Javascript
js本地图片预览实现代码
2016/10/09 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
nodejs微信开发之接入指南
2019/03/17 NodeJs
使用jQuery mobile NuGet让你的网站在移动设备上同样精彩
2019/06/18 jQuery
微信小程序封装分享与分销功能过程解析
2019/08/13 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
vue-router 2.0 跳转之router.push()用法说明
2020/08/12 Javascript
深入解析Python编程中super关键字的用法
2016/06/24 Python
python实现按长宽比缩放图片
2018/06/07 Python
python3.6利用pyinstall打包py为exe的操作实例
2018/10/31 Python
Python 继承,重写,super()调用父类方法操作示例
2019/09/29 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
python调用HEG工具批量处理MODIS数据的方法及注意事项
2020/02/18 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
使用django自带的user做外键的方法
2020/11/30 Python
python excel多行合并的方法
2020/12/09 Python
利用Python批量识别电子账单数据的方法
2021/02/08 Python
10分钟理解CSS3 Grid布局
2018/12/20 HTML / CSS
Nordgreen美国官网:在线购买极简主义斯堪的纳维亚手表
2019/07/24 全球购物
2014年部门工作总结
2014/11/12 职场文书
傲慢与偏见电影观后感
2015/06/10 职场文书
单位更名证明
2015/06/18 职场文书
2015大学生入党个人自传
2015/06/26 职场文书
Go标准容器之Ring的使用说明
2021/05/05 Golang
python 爬取吉首大学网站成绩单
2021/06/02 Python