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 jQuery插件练习
Dec 24 Javascript
利用javascript实现一些常用软件的下载导航
Aug 03 Javascript
IE之动态添加DOM节点触发window.resize事件
Jul 27 Javascript
jquery键盘事件使用介绍
Nov 01 Javascript
在JavaScript中操作数组之map()方法的使用
Jun 09 Javascript
Vue.js实现微信过渡动画左右切换效果
Jun 13 Javascript
js表单序列化判断空值的实例
Sep 22 Javascript
JavaScript中正则表达式使数字、中文或指定字符高亮显示
Oct 31 Javascript
vue 表单输入格式化中文输入法异常问题
May 30 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 Javascript
Vue 按照创建时间和当前时间显示操作(刚刚,几小时前,几天前)
Sep 10 Javascript
js实现三角形粒子运动
Sep 22 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
BBS(php &amp; mysql)完整版(四)
2006/10/09 PHP
php xml 入门学习资料
2011/01/01 PHP
利用PHP生成静态HTML文档的原理
2012/10/29 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
php脚本守护进程原理与实现方法详解
2017/07/20 PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
2018/07/17 PHP
JS日历 推荐
2006/12/03 Javascript
基于jquery的滚动新闻列表
2010/06/19 Javascript
jQuery的写法不同导致的兼容性问题的解决方法
2010/07/29 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
javascript打印html内容功能的方法示例
2013/11/28 Javascript
Jquery创建一个层当鼠标移动到层上面不消失效果
2013/12/12 Javascript
js动态控制table的tr、td增加及删除的具体实现
2014/04/30 Javascript
javascript实现动态导入js与css等静态资源文件的方法
2015/07/25 Javascript
jQuery使用Selectator插件实现多选下拉列表过滤框(附源码下载)
2016/04/08 Javascript
JS实现鼠标滑过显示边框的菜单效果
2016/09/21 Javascript
详解如何在nuxt中添加proxyTable代理
2018/08/10 Javascript
JavaScript实现的级联算法示例【省市二级联动功能】
2018/12/25 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
JS原型与继承操作示例
2019/05/09 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
JS实现前端动态分页码代码实例
2020/06/02 Javascript
解决vue项目router切换太慢问题
2020/07/19 Javascript
[02:54]DOTA2英雄基础教程 暗影牧师戴泽
2013/12/05 DOTA
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
Python中 Lambda表达式全面解析
2016/11/28 Python
Pycharm学习教程(2) 代码风格
2017/05/02 Python
python3实现全角和半角字符转换的方法示例
2017/09/21 Python
用Python爬取LOL所有的英雄信息以及英雄皮肤的示例代码
2020/07/13 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
Python对excel的基本操作方法
2021/02/18 Python
js实现弹框效果
2021/03/24 Javascript
税务干部个人整改措施思想汇报
2014/10/10 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
世界气象日活动总结
2015/02/27 职场文书