日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

vue2+elementUI實現(xiàn)下拉樹形多選框效果實例

瀏覽:143日期:2022-06-13 13:32:54
目錄效果如圖所示:1.新建el-select-tree.vue組件2.頁面引入組件使用總結(jié)效果如圖所示:

1.新建el-select-tree.vue組件<!-- * 下拉樹形選擇--><template> <el-select ref='selectTree' :value='value' v-model='valueName' :multiple='multiple' :clearable='clearable'@clear='clearHandle' @change='changeValue'><el-option :value='valueName' class='options'> <el-tree ref='selectTree' :accordion='accordion' :data='options' :props='props':node-key='props.value' @node-click='handleNodeClick'><span slot-scope='{ data }'> <i :class='[data.color != null ? 'ification_col' : '']':style='{ 'background-color': data.color }'></i>&nbsp;&nbsp;{{ data.name }}</span> </el-tree></el-option> </el-select></template><script>export default { name: 'el-tree-select', props: {// 配置項props: { type: Object, default: () => {return { value: 'id', children: 'children', label: 'name'} }},// 選項列表數(shù)據(jù)(樹形結(jié)構(gòu)的對象數(shù)組)options: { type: Array, default: () => {return [] }},// 初始值(單選)value: { type: Object, default: () => {return {} }},// 初始值(多選)valueMultiple: { type: Array, default: () => {return [] }},// 可清空選項clearable: { type: Boolean, default: true},// 自動收起accordion: { type: Boolean, default: false},// 是否多選multiple: { type: Boolean, default: false} }, data() {return { resultValue: [], // 傳給父組件的數(shù)組對象值 valueName: this.multiple ? [] : '' // 輸入框顯示值} }, watch: {value() { this.resultValue = this.multiple ? this.valueMultiple : this.value; // 初始值 this.initHandle()} }, mounted() {this.resultValue = this.multiple ? this.valueMultiple : this.value; // 初始值this.initHandle(); }, methods: {// 初始化顯示initHandle() { if (this.resultValue) {if (this.multiple) { // 多選 this.resultValue.forEach(item => this.valueName.push(item.name));} else { // 單選 this.valueName = this.resultValue.name;} } this.initScroll()},// 初始化滾動條initScroll() { this.$nextTick(() => {let scrollWrap = document.querySelectorAll('.el-scrollbar .el-select-dropdown__wrap')[0]let scrollBar = document.querySelectorAll('.el-scrollbar .el-scrollbar__bar')scrollWrap.style.cssText = 'margin: 0px; max-height: none; overflow: hidden;'scrollBar.forEach(ele => ele.style.width = 0) })},// 切換選項handleNodeClick(node) { // 設置點擊葉子節(jié)點后被選中 可以更改為點擊父節(jié)點也生效 if (node.children == null || node.children == undefined) {if (this.multiple) { // 多選(判重后添加) let num = 0; this.valueName.forEach(item => {item == node[this.props.label] ? num++ : num; }) if (num == 0) {this.valueName.push(node[this.props.label]); // 輸入框顯示值this.resultValue.push(node); }} else { // 單選 this.$refs.selectTree.blur(); this.valueName = node[this.props.label]; this.resultValue = node;}this.$emit('getValue', this.resultValue); }},// 從輸入框中直接刪除某個值時changeValue(val) { if (this.multiple) {// 多選(同時刪掉傳給父組件中多余的值,再傳給父組件)this.resultValue.map((item, index) => { let i = val.indexOf(item.name) if (i == -1) {this.resultValue.splice(index, 1) }})this.$emit('getValue', this.resultValue); } else {// 單選this.$emit('getValue', val); }},// 清除選中clearHandle() { this.valueName = this.multiple ? [] : '' this.resultValue = [] this.clearSelected() this.$emit('getValue', this.resultValue)},// 清空選中樣式clearSelected() { let allNode = document.querySelectorAll('#tree-option .el-tree-node') allNode.forEach((element) => element.classList.remove('is-current'))} }}</script><style scoped>.el-scrollbar .el-scrollbar__view .el-select-dropdown__item { height: auto; max-height: 300px; padding: 0; overflow: hidden; overflow-y: auto;}.el-select-dropdown__item.selected { font-weight: normal;}ul li>>>.el-tree .el-tree-node__content { height: auto; padding: 0 20px;}.el-tree-node__label { font-weight: normal;}.el-tree>>>.is-current .el-tree-node__label { color: #409EFF; font-weight: 700;}.el-tree>>>.is-current .el-tree-node__children .el-tree-node__label { color: #606266; font-weight: normal;}.el-popper { z-index: 9999;}.ification_col { width: 20px; height: 10px; display: inline-block;}</style>2.頁面引入組件使用<template> <div class='selectTree'> <label>請選擇:</label> <!-- 單選 + 默認值 --> <!-- <el-select-tree :options='options' :value='value' @getValue='getSelectedValue'></el-select-tree> --> <!-- 多選 + 默認值 --> <el-select-tree :options='options' :multiple='multiple' :valueMultiple='valueMultiple' @getValue='getSelectedValue'></el-select-tree> </div></template><script>import elSelectTree from '../components/el-select-tree.vue'export default { components: { elSelectTree }, data() { return { // 開啟/關(guān) 多選/單選 multiple: true, value: {id: 3,name: '張三' }, valueMultiple: [{ id: 3, name: '張三'}, { id: 4, name: '李四'} ], options: [{ id: 1, name: '一組', children: [{ id: 2, name: '第一隊', children: [{ id: 3, name: '小張' }, { id: 4, name: '小劉' }] }]},{ id: 5, name: '二組', children: [{ id: 6, name: '小馬' }, { id: 7, name: '小麗' }]},{ id: 8, name: '三組', children: [{ id: 9, name: '小韓' }, { id: 10, name: '小錢' }]} ] } }, created() { }, methods: { // 組件傳出來的選中結(jié)果 getSelectedValue(value) { console.log('選中的結(jié)果值', value) } }}</script><style lang='scss'></style>總結(jié)

到此這篇關(guān)于vue2+elementUI實現(xiàn)下拉樹形多選框效果的文章就介紹到這了,更多相關(guān)vue2+elementUI下拉樹形多選框內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標簽: JavaScript
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
日本大胆欧美人术艺术动态| аⅴ资源天堂资源库在线| 国产一区丝袜| 不卡视频在线| 麻豆久久一区| 亚洲一区二区av| 欧美日韩精品免费观看视频完整| 亚洲一区欧美激情| 91亚洲成人| 国产精品亚洲二区| 国产麻豆精品| 国精品产品一区| 国产日产精品_国产精品毛片| 日本强好片久久久久久aaa| 日韩三级视频| 国产精品一区二区三区av麻| 免费一级欧美在线观看视频| 美女视频一区在线观看| 久久香蕉网站| 国内揄拍国内精品久久| 久久久免费人体| 97精品97| 不卡av一区二区| 亚洲专区视频| 欧美激情一区| 日韩av免费| 免费精品视频| 欧美日本久久| 中文在线а√在线8| 久久国产电影| 中文字幕免费精品| 美女毛片一区二区三区四区最新中文字幕亚洲 | 久久一级电影| 日韩午夜高潮| 天堂va在线高清一区| 国产精品22p| 丝袜美腿一区| 麻豆91精品| 国产精品啊啊啊| 日韩不卡在线| 亚洲综合中文| 美女av一区| 欧美一区三区| 日韩1区2区3区| 粉嫩av一区二区三区四区五区 | 欧美jjzz| 亚洲免费毛片| 毛片在线网站| 蜜臀久久久99精品久久久久久| 国产图片一区| 久久久久美女| 欧美一级网站| 久久久夜精品| 日韩欧美在线精品| 国产精选在线| 亚洲专区欧美专区| 国产欧美88| 精品亚洲美女网站| 综合一区二区三区| 色乱码一区二区三区网站| 午夜一级久久| 精品视频高潮| 1024精品久久久久久久久| 国产色99精品9i| 精品欧美久久| 国产视频网站一区二区三区| 亚洲精品在线观看91| 国产探花在线精品| 国产精品日韩久久久| 欧美国产免费| 亚洲综合五月| 国产一区二区三区黄网站| 性欧美长视频| 成人污污视频| 国产视频网站一区二区三区| 久久国产高清| 九九色在线视频| 国产精品夜夜夜| 久久午夜视频| 少妇精品导航| 国产日韩三级| 国产午夜精品一区二区三区欧美| 国产精品大片免费观看| 亚洲在线网站| 精精国产xxxx视频在线野外| 欧美极品中文字幕| 免费看欧美美女黄的网站| 高清av一区| 日韩av二区在线播放| 丝袜a∨在线一区二区三区不卡| 一本大道色婷婷在线| 欧美aaaaaa午夜精品| 亚洲人成网77777色在线播放| 中文另类视频| 国产成人精品999在线观看| 国产亚洲人成a在线v网站| 亚洲乱码视频| 久久高清一区| 欧美va天堂在线| 日韩三区免费| 国产成人精品亚洲线观看| 日韩国产欧美在线播放| 丝袜美腿成人在线| 中文国产一区| 欧美午夜不卡| 99热国内精品| 香蕉人人精品| 丝袜美腿一区| 日韩欧美三级| 国产精品久久久久久久久妇女| 国产精品99久久免费观看| 日韩国产欧美在线视频| 四虎精品一区二区免费| 蜜桃伊人久久| 蜜芽一区二区三区| 老司机精品久久| 一区二区三区视频免费观看| 成人国产精品一区二区免费麻豆| 日韩精品一区二区三区中文字幕| 日韩精品诱惑一区?区三区| 日韩理论视频| 亚洲福利免费| 男人的天堂久久精品| 亚洲欧洲日韩| 日韩av网站免费在线| 水蜜桃久久夜色精品一区| 国产一区一一区高清不卡| 久久精品资源| 精品久久97| 精品视频网站| 国产aa精品| 欧美激情亚洲| 精品久久久久久久| 不卡专区在线| 成人精品天堂一区二区三区| 久久美女精品| 欧美另类专区| 麻豆成人在线| 日韩精品五月天| 国产精品欧美在线观看| 欧美激情精品| 精品久久久久久久| 日韩欧美综合| 女人天堂亚洲aⅴ在线观看| 亚洲深夜av| 日本一区福利在线| 欧美aaaaaa午夜精品| 成人片免费看| 国产高清一区| 日韩中文av| 国产精品99久久免费| 亚洲伦乱视频| 免费日韩一区二区| 日韩精品一级| 成人午夜在线| 在线日韩视频| 亚洲另类av| 国产精品对白久久久久粗| 日本不卡免费高清视频在线| 午夜久久福利| 日本天堂一区| 成人午夜毛片| 午夜精品婷婷| 日韩精品视频中文字幕| 成人午夜亚洲| 国产精品婷婷| 国产精品久久久久久久久久齐齐| 中文av在线全新| 视频在线观看一区| 国产黄色一区| 欧美日一区二区| 日韩成人午夜精品| 日韩国产一区二区| 男人的天堂久久精品| 国内不卡的一区二区三区中文字幕| 国产精品7m凸凹视频分类| 日本天堂一区| 欧美香蕉视频| 亚洲3区在线| 日本蜜桃在线观看视频| 亚洲精品日韩久久| 色偷偷偷在线视频播放| 免费成人av在线播放| 麻豆精品视频在线观看视频| 亚洲精品极品少妇16p| 国产精品v日韩精品v欧美精品网站| 91精品综合| 欧美另类中文字幕 | 中文字幕日韩欧美精品高清在线| 国产精品nxnn| 六月丁香综合| 伊人久久在线| 久久精品凹凸全集| 蜜桃一区二区三区| 麻豆久久一区二区| 亚洲资源网站| 91精品一区二区三区综合| 国产精品1区| 亚洲无线观看| 久久香蕉国产|