vue实现下拉列表多选全选以及模糊查询的vue组件

发布时间:2018-09-12 17:41,

浏览次数:3776

, 标签:

vue

<>前端,有时有这样的需求,需要一个下拉列表,还要有多选全选功能,以及模糊查询功能的vue组件,我做了一个简陋的组件,供大家参考,有问题请留言

这是我的文件目录结构

**

效果图:

o(∩_∩)o o(∩_∩)o o(∩_∩)o o(∩_∩)o o(∩_∩)o o(∩_∩)o o(∩_∩)o o(∩_∩)o

模糊查询:

下面贴出代码

这是组件代码mohuSearch.vue

v-model="checkedNames">

v-show="listShow">

  • v-model="checkedNames"> {{item}}

id="quan" type="checkbox" @click="checkAll($event)">

for="quan">全选

{ name: "mohu-search", props:{//接收父组件传递过来的数据 data1: { type: Array, default: []

}, }, data(){ return{ listShow:false, search:'', checkedNames:[],

items:['jack','mike','rose','jan']//下拉列表的选项数据,此数据可以从父组件传过来,通过props接收,接收到props数据后赋值给该数据即可

} }, created(){ console.log(this.data1) }, watch: { // 监视双向绑定的数据数组

checkedNames: { handler(){ // 数据数组有变化将触发此函数 var checkObj1 =

document.querySelectorAll('.checkItem'); // 获取所有checkbox项

if(this.checkedNames.length == checkObj1.length){

document.querySelector('#quan').checked = true; }else {

document.querySelector('#quan').checked = false; } }, deep: true // 深度监视 },

search:{ handler(){//搜索框输入变化触发 this.listShow=true; }, deep: true // 深度监视 } },

methods: { checkAll(e){ // 点击全选事件函数 var checkObj =

document.querySelectorAll('.checkItem'); // 获取所有checkbox项 if(e.target.checked){

// 判定全选checkbox的勾选状态 for(var i=0;i

if(!checkObj[i].checked){ // 将未勾选的checkbox选项push到绑定数组中

this.checkedNames.push(checkObj[i].value); } } }else { //

如果是去掉全选则清空checkbox选项绑定数组 this.checkedNames = []; } }, show(){

this.listShow=!this.listShow; if(this.listShow==true){ this.checkedNames = [];

} } }, computed: { searchData: function() { var search1 = this.search; if

(search1) { return this.items.filter(function(product) { return

Object.keys(product).some(function(key) { return

String(product[key]).toLowerCase().indexOf(search1) > -1 }) }) } return

this.items; } } }

这是简陋的样式文件 mohuSearch.css

.searchBox{ width: 200px; height: 26px; position: relative; } .select{ width:

98%; height: 100%; } .down{ position: absolute; width: 0; border:9px solid

transparent; border-top: 11px solid black; top: 10px; right: 7px; cursor:

pointer; } .list{ width: 100%; } .list>li{ height: 20px; background: white;

border: 1px solid lightgray; border-top: none; }

想引用此组件,你可以这样,v-bind向子组件传值,子组件通过props接收传过去的值,代码中有注释,应该可以看懂

  • {{item.name}},价格:¥{{item.price}}

:data1="options">

from './mohuSearch/mohuSearch' export default { name: "mohu", components:{

mohusearch }, data() { return{ options:['苹果','香蕉','菠萝','西瓜'], } }, }

<>好了,基本就是这样了,如有疑问,请在下方留言,欢迎大神提出改进意见。

**

vue 带全选和多选的表格怎么写_vue实现下拉列表多选全选以及模糊查询的vue组件...相关推荐

  1. vue 带全选和多选的表格怎么写_vue中使用计算属性巧妙的实现多选框的“全选”...

    接下来我会以一个购物车的例子,来演示如果借助计算属性,精巧的实现多选框的全选功能.当然,有全选,自然对应的也还有取消全选. 以下这张gif图,就是最终的实现效果: 第一步,针对购物车每一个商品进行设置 ...

  2. vue 带全选和多选的表格怎么写_vue+element-ui里面table组件多选框实现批量操作

    vue+element-ui里面table组件多选框实现批量操作 有时候人不是被困难难倒的,是被自己蠢哭的...官方文档用到某个地方的时候,才感觉对这个方面的理解才会加深一点,还是要记录一下这个地方! ...

  3. 【前端模糊查询】vue用elementul表格,前端写模糊查询功能,简单实现方法

    效果图 代码 html <el-table:data="tableData"stripestyle="width: 100%; margin-bottom: 30p ...

  4. element-ui主表格多选后 二级弹框表格默认全选数据

    需求:element ui的主数据列表多选后,点击按钮进入二级弹框后,让二级弹框的所有数据默认全选 二级弹框结构: 网上试了好多方法都未生效,只有用watch监听的方法才行. 注意:这里必须放在thi ...

  5. 雅思做题技巧误区一,不敢选TRUE。误区二,见到only或must等绝对词就选FALSE。误区三,找不到就选NOT GIVEN。误区四,喜欢把TRUE/FALSE/NOT GIVEN理解为

    目录 误区一,不敢选TRUE. 误区二,见到only或must等绝对词就选FALSE. 误区三,找不到就选NOT GIVEN. 误区四,喜欢把TRUE/FALSE/NOT GIVEN理解为" ...

  6. vue带缩略图的轮播图插件_带有缩略图轮播的自适应图像库

    vue带缩略图的轮播图插件 View demo 查看演示Download Source 下载源 Today we want to show you how to create a responsive ...

  7. VUE jQuery+VUE带实时节气创意圆形罗盘时钟动画特效

    1.外部引用的js文件 ①jquery版本:jquery-3.3.1.js(可以自己找一个jQuery版本,不要太旧就行) <script type="text/javascript& ...

  8. 【zTree小贴士】复选框设置了:check:{ enable: true },页面却没显示复选框

    问题: 复选框设置了:check:{    enable: true   },页面却没显示复选框 可能的原因: 没有引入所需的js 解决方案: 引入jquery.ztree.excheck.min.j ...

  9. python全栈开发工程师_【2018重磅巨献】老男孩Python高级全栈开发工程师第三期...

    2018年老男孩python全栈第三期老男孩python全栈3期 老男孩教育Python全栈开发为国内首家专注python全方面开发的教育机构 老男孩Python全栈第三期课程详细目录,高清不加密! ...

最新文章

  1. 支持支付宝(Alipay)付款的三个美国主机商
  2. OkHttp3源码详解(三) 拦截器-RetryAndFollowUpInterceptor
  3. dotnet安装包时找不到依赖关系_无法加载文件或程序集'Microsoft.AspNet.TelemetryCorrelation'或其依赖项之一 . 该系统找不到指定的文件...
  4. python项目实践_Python 项目实践三(Web应用程序)第二篇
  5. LR模型常见问题小议
  6. 分布式键值系统Amazon Dynamo简介
  7. js利用tab键切换当前页面_JS实现的tab切换并显示相应内容模块功能示例
  8. [从C到C++] 1.3 C++布尔类型(bool)
  9. java 手机网站 cookie操作_java操作cookie问题
  10. PNAS新研究:剑桥学者发现,有些 AI 模型无法被计算
  11. 用lnmp.org中的lnmp下安装ftp(pureftp)
  12. ORA-01502-对应的快速解决办法(索引或这类索引的分区处于不可用状态)
  13. .通过JAVA-Webservices向其它平台提供Hbase服务
  14. 简单快速获取思维导图
  15. Java技术栈思维导图
  16. Spark 内存管理之Tungsten
  17. (附源码)springboot火车票订票系统 毕业设计 171538
  18. 三级网络技术备考重点之路由器配置及使用
  19. 以“开放同行评议”推动学术发展
  20. 【C++】之内联函数(inline)

热门文章

  1. Unicode和UTF-8的关系
  2. 深入理解Java 8 Lambda(语言篇——lambda,方法引用,目标类型和默认方法)
  3. 求数组最大数,该数为数组中某两个数相加
  4. 【转】js frame 框架编程
  5. BTC行情分析,BCH一枝独秀秀全场
  6. Web页面中png jpg gif webp svg的区别和使用
  7. 关于xshell连接虚拟机和虚拟机连网
  8. 老板和员工是什么关系?
  9. ECJTUACM16 Winter vacation training #5 题解源码
  10. php 中文转拼音,可以只转首字母,可以设置utf8、gbk