给element的select添加复选框

需求:要求给select多选的时候,给下拉框前加上复选框样式
element select原样式
在这里插入图片描述

需要更改后的样式
在这里插入图片描述

  • html
	<el-selectv-model="searchObj.knowledgeIds"class="select-box"filterablemultiplecollapse-tagsstyle="margin-left: 20px"placeholder="请选择"@change="changeSelect"@visible-change="visibleSelect"><el-optionv-for="item in knowledgeArr":key="item.id":label="item.knowledgeName":value="item.id"/></el-select>
  • js
    // 下拉框展开 关闭事件visibleSelect(e) {// 获取所有的liconst lis = document.getElementsByClassName('el-select-dropdown__item')// 打开下拉框 添加inputif (e) {for (let i = 0; i < lis.length; i++) {const element = lis[i]const input = document.createElement('input')input.style.cssText = 'margin-right: 10px;'input.type = 'checkbox'// 根据是否有选中的类名来判断li是否被选中if (element.classList.contains('selected')) {// 对应复选框也设置被选中input.checked = true}element.insertBefore(input, element.lastChild)}} else {// 关闭下拉框 移除掉input--否则每次打开添加就是多个inputfor (let i = 0; i < lis.length; i++) {const element = lis[i]element.removeChild(element.firstChild)}}},
  • 下拉框改变事件
    // 知识点变化changeSelect(value) {const lis = document.getElementsByClassName('el-select-dropdown__item')for (let i = 0; i < lis.length; i++) {const element = lis[i]// 必须使用nextTick 否则拿不到最新的修改后的dom选中状态 也就没法判断this.$nextTick(() => {// 判断当前的li是否被选中 选中的则设置复选框被选中if (element.classList.contains('selected')) {element.firstChild.checked = true} else {element.firstChild.checked = false}})// console.log(element)}}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/403765.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TCP选项:TCP_NODELAY和TCP_CORK

From: http://blog.163.com/zhangjie_0303/blog/static/990827062012718316231/ Nagle算法 TCP_NODELAY和TCP_CORK Nagle算法 根据创建者John Nagle命名。该算法用于对缓冲区内的一定数量的消息进行自动连接。该处理过程 (称为Nagling)&#xff0c;通过减少必须发送的封包的…

loop 伪设备 挂在文件系统

dd if/dev/zero of./test.img bs1M count512 losetip /dev/loop1 test.img mkfs.ext3 -L ingben /dev/loop1 dumpe2fs /dev/loop1 tune2fs -l /dev/loo1 mount /dev/loop1 /mnt hexdump -C /dev/loop1 > /dumptext.log1

mysql导入导出数据

用以下命令&#xff0c;导入导出Mysql几百M&#xff0c;几G的数据库都没有问题。注意“--default-character-setutf8”是设置编码的。 1&#xff0c;数据库备份命令&#xff1a; mysqldump -h localhost -u root -p --default-character-setutf8 dbname >backup.sq…

修改复选框样式

//默认input[type"checkbox"] {margin-top: 7px;cursor: pointer;position: relative;width: 14px;height: 14px;font-size: 14px;margin-right: 8px;background-color:#fff;}//选中后修改input[type"checkbox"]::after {position: absolute;top: 0;//修改…

java jni ubuntu 环境搭建时遇到的坑

1&#xff1a;版本不一致遇到的坑 javah的版本需要同javac的版本一致。如果版本的问题搞不定&#xff0c;直接用andorid source build之后的环境即可 2&#xff1a;javah使用遇到的坑 jni中字段描述符可以使用javah生成 javah -jni -classpath . JNIdemo 其中 -classpath…

linux 内核配置过程中遇到的问题

大家都知道在修改内核需要两步 配置和编译 在配置过程中 用到的命令 make config、make menuconfig、make xconfig 前两个是文本界面 最后一个是图形界面 不建议用最后一个 因为占用的资源太多 有点卡 但如果你的硬件配置极高 我也不否定 你来用 转入正题 我在配置时 make menu…

c如何返回数组给java

jintArray c_hello(JNIEnv *env, jobject cls, jintArray arr) { jint a[4]{12,13,14,15}; jintArray arry; arry (*env)->NewIntArray(env,4); (*env)->SetIntArrayRegion(env,arry,0,4,a); return arry; } 实际上也…

JNDI的XML相关配置(context.xml和web.xml)

1. 在tomcat目录下conf/context.xml文件中 加入一下代码   <Resource name"jdbc/sqlconnpool" auth"Container" type"javax.sql.DataSource" driverClassName"com.microsoft.sqlserver.jdbc.SQLServerDriver" …

Vue 作用域插槽

原博出处&#xff1a; 作者&#xff1a;SentMes 链接&#xff1a;SentMes作者书写的作用于插槽链接 https://www.jianshu.com/p/0c9516a3be80 来源&#xff1a;简书 ** ** ** 十分感谢原作者&#xff0c;写的十分详细&#xff0c;原作者辛苦了&#xff01; 深入理解vue中的s…

nuc972的ramfs的配置yaffs2,ubi文件系统

按照技术支持的推荐&#xff0c;使用ramfs文件系统。那么就可以在uboot的nuc970_evb.h中将JEFS yaffs ubi 的相关支持去掉就可以了。这样理应能减少很大部分的uboot大小。剩下就是配置内核中的ramfs配置。 General setup ---> [ ] Initial RAM filesystem and RAM disk (i…

I/O多路复用之epoll

2019独角兽企业重金招聘Python工程师标准>>> 在上一章&#xff0c;我们对select进行了大致的描述&#xff0c;知道了它相对传统的阻塞式服务提高了并发度&#xff0c;但是它也由于轮询而导致效率底下。本文对epoll进行讲解&#xff0c;相比select它的并发度更高&…

关于24点游戏的编程思路与基本算法

From: http://blog.csdn.net/wangqiulin123456/article/details/8145545 24点游戏的算法&#xff0c;其中最主要的思想就是穷举法。所谓穷举法就是列出4个数字加减乘除的各种可能性&#xff0c;包括括号的算法。我们可以将表达式分成以下几种&#xff1a;首先我们将4个数设为a…

Xtreme TaskPanel

原文来自方案网 http://www.fanganwang.com/Product-detail-item-1230.html&#xff0c;欢迎转载。 关键字&#xff1a;TaskPanel Codejock Xtreme TaskPanel为Windows开发者提供了一个非常熟悉的任务栏&#xff0c;与Windows资源管理器类似。该任务面板可以像VS.NET工具一样被…

linux设备驱动之按键外部中断

老习惯先贴一波代码再仔细分析消化。 #include <linux/module.h> #include <linux/kernel.h> #include <linux/fs.h> #include <linux/init.h> #include <linux/delay.h> #include <linux/irq.h> #include <asm/uaccess.h> #includ…

C语言实现ICMP协议Ping命令

From: http://www.360doc.com/content/12/0429/19/1317564_207540510.shtml 大部分人用ping命令只是作为查看另一个系统的网络连接是否正常的一种简单方法。在这篇文章中&#xff0c;作者将介绍如何用C语言编写一个模拟ping命令功能的程序。ping命令是用来查看网络上另一个主机…

Ubuntu 时间同步

1. 安装ntpdate工具# sudo apt-get install ntpdate2. 设置系统时间与网络时间同步# ntpdate cn.pool.ntp.org

vscode tab键快捷生成元素html标签

按照上图在设置中找到对应的文件夹&#xff0c; 直接加上"emmet.triggerExpansionOnTab": true,这段代码保存 重新打开vscode即可

Linux用ICMP协议实现简单Ping网络监测功能

From: http://www.linuxidc.com/Linux/2012-05/61073.htm ICMP是&#xff08;Internet Control Message Protocol&#xff09;Internet控制报文协议。它是TCP/IP协议族的一个子协议&#xff0c;用于在IP主机、路由器之间传递控制消息。控制消息是指网络通不通、主机是否可达、路…

解决vscode格式化代码html属性换行问题; ctrl+s格式化去除分号,格式化自动单引号;解决js格式化换行问题;mac上的settings.json完整配置

右键格式化文档或者ctrl s保存 html不换行 1.安装两个插件①vetur ②Prettier - Code formatter 2.在vetur的settings.json中设置 配置ctrls触发格式化去除分号和单引号&#xff1b;配置格式化js换行&#xff1b;配置解决html属性换行 将最后一部分的设置&#xff0c;修改…