穿梭框(filter过滤方法,sort排序 v-model)


<!DOCTYPE html><html><head lang="en">    <meta charset="UTF-8">    <title>穿梭框</title>    <link rel="stylesheet" href="bootstrap.min.css"/>    <script src="vue.min.js"></script>    <style>        #app{            width: 80%;            margin: 0 auto;            display: flex;        }        #app>ul{            width: 50%;            display: inline-block;            list-style: none;

}        #app>ul li:hover{            color: red;            cursor: pointer;        }        h4{            width:100% ;            margin: 0;            padding: 8px 0;        }        span:hover{            color: red;        }

</style></head><body><div class="chuansuo">

<div id="app" >         <ul >             <h4>列表一 <span > 总数:{{itemLeft.length}}</span></h4>             <li v-for="(arr,i) in itemLeft"><input type="checkbox"  v-model="arr.check"/>{{arr.name}} </li>         </ul>        <ul >            <h4>列表二 <span > 总数 {{itemRight.length}}</span></h4>            <li v-for="(select,i) in itemRight" >                <input type="checkbox" v-model="select.check"/>                {{select.name}}            </li>        </ul>

</div>    <p class="text-center" style="margin-top: 30px;">        <span style="cursor: pointer " @click="chuansuoL">>> </span>        <span style="cursor: pointer " @click="chuansuoR"> <<</span>    </p></div>

<script>          window.onload=function(){              new Vue({                  el:‘.chuansuo‘,                  data:{

itemLeft:[                        {name:‘刘德华1‘,check:false,id:‘1‘},                        {name:‘刘德华2‘,check:true,id:‘2‘},                        {name:‘刘德华3‘,check:false,id:‘3‘},                        {name:‘刘德华4‘,check:false,id:‘4‘},                        {name:‘刘德华5‘,check:false,id:‘5‘}                    ],                     itemRight:[

]                  },                  methods:{                     //  过滤公共方法(不是过滤器)                      addDate:function(item,type){                          return item.filter(function(v){                              return v.check==type;                          });                      },                      sortId:function(array,key){                          return array.sort(function(a,b){                              var x=a[key];                              var y=b[key];                              return x-y                          })                      },                      chuansuoL:function(){//                          利用过滤函数筛选出itemLeft数组里check为true的对象 并导入到右边itemRight数组里//                          var add=this.itemLeft.filter(function(v){//                              return v.check==true;//                          });                          var add=this.addDate(this.itemLeft,true);//                          合并数组赋值给itemRight                          this.itemRight=this.itemRight.concat(add);                          this.sortId(this.itemRight,‘id‘); /*按id大小排序*///                          把itemLeft数组里check为false的对象留下来(剩下了)                          var shengyu=this.addDate(this.itemLeft,false);                          this.itemLeft=shengyu;

},                      chuansuoR:function(){                          var add=this.addDate(this.itemRight,true);                          this.itemLeft=this.itemLeft.concat(add);                          this.sortId(this.itemLeft,‘id‘);                          var shengyu=this.addDate(this.itemRight,false);                          this.itemRight=shengyu;                      },                  },                  filters:{                  }              })          }    </script></body></html>
 

 

原文地址:https://www.cnblogs.com/yaomengli/p/10160984.html

时间: 2024-10-08 19:53:57

穿梭框(filter过滤方法,sort排序 v-model)的相关文章

django中models的filter过滤方法

__gt     大于__gte   大于等于 __lt      小于 __lte    小于等于 __in     存在于一个list范围内 __startswith    以...开头 __istartswith   以...开头忽略大小写 __endswith     以...结尾 __iendswith    以...结尾,忽略大小写 __range   在...范围内 __year      日期字段的年份 __month   日期字段的月份 __day        日期字段的日

JAVA Collections工具类sort()排序方法

主要分析内容: 一.Collections工具类两种sort()方法 二.示例 一.Collections工具类两种sort()方法 格式一: public static <T extends Comparable<? super T>> void sort(List<T> list) 说明:该方法中的泛型<T>都是Comparable接口的子类,即只有是Comparable接口子类类型的数据,才能进行比较排序.如果其他类型的数据要进行比较排序,必须继承Co

Java Filter过滤xss注入非法参数的方法

http://blog.csdn.NET/feng_an_qi/article/details/45666813 Java Filter过滤xss注入非法参数的方法 web.xml: [html] view plain copy <filter> <filter-name>XSSFiler</filter-name> <filter-class> com.paic.mall.web.filter.XssSecurityFilter </filter-c

js中的数组对象排序(方法sort()详细介绍)

定义和用法 sort() 方法用于对数组的元素进行排序. 语法    arrayObject.sort(sortby) 参数sortby:可选.规定排序顺序.必须是函数. 返回值 对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 普通数组排序: js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: 字母A.B的ASCII值分别为65.66,而a.b的值分别为97.98,所

数组Array.sort()排序的方法

数组sort排序 sort比较次数,sort用法,sort常用 描述 方法sort()将在原数组上对数组元素进行排序,即排序时不创建新的数组副本.如果调用方法sort()时没有使用参数,将按字母顺序(更为精确地说,是按照字符编码的顺序)对数组中的元素进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如果有必要的话),以便进行比较. 如果想按照别的顺序进行排序,就必须提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字.比较函数应该具有两个参数a和b,其返回值如下

数据量庞大的分页穿梭框实现

博客地址:https://ainyi.com/#/63 昨天偶然看到评论区一位老哥的需求,一时兴起,就答应了当天写好源码写个博客 回来的晚,第二天才写好.. 写个分页的穿梭框,从而解决数据量庞大的问题 我之前写过一篇博客:关于 Element 组件的穿梭框的重构 介绍并实现的方法 但是第二个分页的 demo 没有,在上一家公司匆匆解决后,没有写入自己的 GitHub,有点可惜... 当时可是在上班,而且太忙了,不过既然答应了这位老哥写个 demo,就要做到,也是给自己一个挑战 进入正题 看实现效

简单模拟穿梭框

穿梭框相信很多人接触过,在写后台管理系统的项目时有很大可能性会用到这个功能. 其实这个组件在element ui里面有,但是因为兼容性ie的问题(万恶的ie啊),我现在必须手写一个类似的功能供项目使用 乞丐样式上图 原汁原味基本没有经过任何修饰的html,有一种朴素的美...还是以功能为主啊,只写了的简单的样式... 主要功能就是左侧某一个checkbox选中后点击‘选中过’按钮,此选项就出现在右侧的框中,同时左侧的框中此选项消失  “1区”这个按钮其实就是一个全选的按钮 右侧框中新选项默认为非

【Lucene】4.X版本使用Sort排序并评分

貌似3.X的版本, 只要使用了Sort之后就不会对文档进行评分了,然后看了4.X的IndexSearch的search()方法,里面有一个search()的重载方法: public TopFieldDocs search(Query query, Filter filter, int n, Sort sort, boolean doDocScores, boolean doMaxScore) 只要把doDocScores参数设置为true(默认为false), 就可以进行排序且评分了.

如何在vue+element中实现选择框和穿梭框的根据拼音以及拼音首字母以及汉字的模糊搜索

1.汉字: 直接添加对应的 filterable 2.拼音: 穿梭框和选择器的实现方式有所不同 选择器: <1>下载pinyin-match:   npm i --save pinyin-match <2>在main.js引入并注册为全局属性 import PinyinMatch from 'pinyin-match'; Vue.prototype.$pinyinmatch = PinyinMatch; <3>为需要的选择器添加自定义过滤方法 :filter-metho