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控制frame,iframe的src属性代码
Dec 31 Javascript
纯js实现遮罩层效果原理分析
May 27 Javascript
javascript实现数独解法
Mar 14 Javascript
javascript生成随机数方法汇总
Nov 12 Javascript
前端微信支付js代码
Jul 25 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
Jul 27 Javascript
js实现用户输入的小写字母自动转大写字母的方法
Jan 21 Javascript
JS实现新建文件夹功能
Jun 17 Javascript
基于构造函数的五种继承方法小结
Jul 27 Javascript
javascript系统时间设置操作示例
Jun 17 Javascript
JS实现打字游戏
Dec 17 Javascript
JavaScript队列结构Queue实现过程解析
Mar 07 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 中的str_replace 函数总结
2007/04/27 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
php中使用接口实现工厂设计模式的代码
2012/06/17 PHP
微信利用PHP创建自定义菜单的方法
2016/08/01 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
Yii框架响应组件用法实例分析
2019/09/04 PHP
tp5.1框架数据库子查询操作实例分析
2020/05/26 PHP
JavaScript类型转换方法及需要注意的问题小结(挺全面)
2010/11/11 Javascript
JS检测图片大小的实例
2013/08/21 Javascript
基于jquery的网站幻灯片切换效果焦点图代码
2013/09/15 Javascript
jquery对单选框,多选框,文本框等常见操作小结
2014/01/08 Javascript
thinkphp中常用的系统常量和系统变量
2014/03/05 Javascript
基于AngularJS+HTML+Groovy实现登录功能
2016/02/17 Javascript
深入理解vue.js中$watch的oldvalue与newValue
2017/08/07 Javascript
jQuery实现table中两列CheckBox只能选中一个的示例
2017/09/22 jQuery
JS实现的简单折叠展开动画效果示例
2018/04/28 Javascript
vue.js单文件组件中非父子组件的传值实例
2018/09/13 Javascript
一个Java程序猿眼中的前后端分离以及Vue.js入门(推荐)
2019/04/19 Javascript
微信小程序开发数据缓存基础知识辨析及运用实例详解
2020/11/06 Javascript
解读Python中degrees()方法的使用
2015/05/18 Python
20行python代码实现人脸识别
2019/05/05 Python
pandas数据筛选和csv操作的实现方法
2019/07/02 Python
如何使用python操作vmware
2019/07/27 Python
python之列表推导式的用法
2019/11/29 Python
Python中Subprocess的不同函数解析
2019/12/10 Python
python如何写出表白程序
2020/06/01 Python
如何用Python徒手写线性回归
2021/01/25 Python
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
台湾流行服饰购物平台:OB严选
2018/01/21 全球购物
大四学生找工作的自荐信
2014/03/27 职场文书
协议书样本
2014/04/23 职场文书
检讨书格式
2019/04/25 职场文书
python实现三阶魔方还原的示例代码
2021/04/28 Python
MySQL创建表操作命令分享
2022/03/25 MySQL
JS实现九宫格拼图游戏
2022/06/28 Javascript