日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

给element的select添加复选框

發(fā)布時(shí)間:2023/12/9 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 给element的select添加复选框 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

需求:要求給select多選的時(shí)候,給下拉框前加上復(fù)選框樣式
element select原樣式

需要更改后的樣式

  • html
<el-selectv-model="searchObj.knowledgeIds"class="select-box"filterablemultiplecollapse-tagsstyle="margin-left: 20px"placeholder="請(qǐng)選擇"@change="changeSelect"@visible-change="visibleSelect"><el-optionv-for="item in knowledgeArr":key="item.id":label="item.knowledgeName":value="item.id"/></el-select>
  • js
// 下拉框展開 關(guān)閉事件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'// 根據(jù)是否有選中的類名來(lái)判斷l(xiāng)i是否被選中if (element.classList.contains('selected')) {// 對(duì)應(yīng)復(fù)選框也設(shè)置被選中input.checked = true}element.insertBefore(input, element.lastChild)}} else {// 關(guān)閉下拉框 移除掉input--否則每次打開添加就是多個(gè)inputfor (let i = 0; i < lis.length; i++) {const element = lis[i]element.removeChild(element.firstChild)}}},
  • 下拉框改變事件
// 知識(shí)點(diǎn)變化changeSelect(value) {const lis = document.getElementsByClassName('el-select-dropdown__item')for (let i = 0; i < lis.length; i++) {const element = lis[i]// 必須使用nextTick 否則拿不到最新的修改后的dom選中狀態(tài) 也就沒(méi)法判斷this.$nextTick(() => {// 判斷當(dāng)前的li是否被選中 選中的則設(shè)置復(fù)選框被選中if (element.classList.contains('selected')) {element.firstChild.checked = true} else {element.firstChild.checked = false}})// console.log(element)}}

總結(jié)

以上是生活随笔為你收集整理的给element的select添加复选框的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。