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 相关文章推荐
js 小贴士一星期合集
Apr 07 Javascript
关于锚点跳转及jQuery下相关操作与插件
Oct 01 Javascript
JS随机生成不重复数据的实例方法
Jul 17 Javascript
jQuery中操控hidden、disable等无值属性的方法
Jan 06 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
跟我学习javascript的闭包
Nov 16 Javascript
微信小程序tabbar底部导航
Nov 05 Javascript
使用express获取微信小程序二维码小记
May 21 Javascript
详解Angular Karma测试的持续集成实践
Nov 15 Javascript
Javascript组合继承方法代码实例解析
Apr 02 Javascript
vue2.* element tabs tab-pane 动态加载组件操作
Jul 19 Javascript
angular异步验证器防抖实例详解
Mar 31 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出现内存位置访问无效错误问题解决方法
2014/08/16 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP实现无限极分类的两种方式示例【递归和引用方式】
2019/03/25 PHP
JavaScript基本对象
2007/01/11 Javascript
分析 JavaScript 中令人困惑的变量赋值
2007/08/13 Javascript
浅析Javascript使用include/require
2013/11/13 Javascript
JS实现字体选色板实例代码
2013/11/20 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
纯JavaScript代码实现移动设备绘图解锁
2015/10/16 Javascript
JS创建对象几种不同方法详解
2016/03/01 Javascript
jQuery基于扩展简单实现倒计时功能的方法
2016/05/14 Javascript
javascript滚轮控制模拟滚动条
2016/10/19 Javascript
Vue.js实例方法之生命周期详解
2017/07/03 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
JavaScript定时器setTimeout()和setInterval()详解
2017/08/18 Javascript
jQuery使用zTree插件实现可拖拽的树示例
2017/09/23 jQuery
使用 Github Actions 自动部署 Angular 应用到 Github Pages的方法
2020/07/20 Javascript
js+css实现扇形导航效果
2020/08/18 Javascript
python通过floor函数舍弃小数位的方法
2015/03/17 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
关于Python作用域自学总结
2019/06/10 Python
详解pandas数据合并与重塑(pd.concat篇)
2019/07/09 Python
jupyter修改文件名方式(TensorFlow)
2020/04/21 Python
Python判断字符串是否为空和null方法实例
2020/04/26 Python
编写python代码实现简单抽奖器
2020/10/20 Python
土耳其时尚潮流在线购物网站:Trendyol
2017/10/10 全球购物
Onzie官网:美国时尚瑜伽品牌
2019/08/21 全球购物
计算s=f(f(-1.4))的值
2014/05/06 面试题
计算机应用与科学个人的自我评价
2013/11/15 职场文书
党校学习思想汇报
2014/01/06 职场文书
党员大会主持词
2014/04/02 职场文书
祖国在我心中演讲稿600字
2014/09/23 职场文书
党的群众路线教育实践活动党员个人剖析材料
2014/10/08 职场文书
具结保证书范本
2015/05/11 职场文书
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript