当前位置: 首页 > news >正文

下拉树级带搜索功能

 可以直接复制粘贴到自己的项目里,方法处把接口替换一下

<template><div><el-popoverplacement="bottom"width="200"trigger="click"><el-inputslot="reference"class="mrInput":placeholder="placeholder"v-model="nowSelVal"clearable:disabled="disabled"@input="changeValTime"@change="changeVal"@clear="clearVal"/><div class="customTreeSelectCont"><el-treev-if="searchTit":props="treeProps":load="loadNode"empty-text="暂无数据"lazy:expand-on-click-node="false"@node-click="handleNodeClick"/><ul class="searchUl" v-else><liv-for="(item,index) in searchOptions":key="'searchUl__'+index"@click="selSearchLi(item)">{{item.label}}</li></ul></div></el-popover></div>
</template><script>
export default {name: "customTreeSelect",data() {return {nowSelVal:'',nowSelValBF:'',placeholder:'',disabled:false,treeProps: {label: 'label',value: 'value',children: 'children',isLeaf: 'leaf'},searchTit:true,searchSel:'',searchOptions:[]}},methods: {// 搜索框,实时changeValTime(val) {if(!val){this.searchTit = true}else{this.searchTit = falsethis.getSearchSelFun()}},// 搜索框,失去焦点或用户按下回车changeVal(val) {console.log('changeVal');},// 搜索框-清空clearVal() {this.searchTit = true},getSearchSelFun(){this.searchOptions = [{value: '选项1',label: '黄金糕'},{value: '选项2',label: '黄金糕22'},{value: '选项3',label: '黄金糕33'},]},// tree的懒加载loadNode(node, resolve) {// 第一次获取数据if (node.level === 0) {const arr = [{label: '测试1',value: '111'},{label: '测试2',value: '222'},]return resolve(arr)} else {// 之后点击获取数据if(node.level === 5) return resolve([])const datas = [{label: 'mmm',value: '555'}]return resolve(datas)//   // return resolve([])}},handleNodeClick(data) {this.nowSelVal = data[this.treeProps.label]},selSearchLi(data) {console.log(data);this.nowSelVal = data[this.treeProps.label]},}
}
</script><style lang="scss" scoped>.mrInput{width: 433px;}.searchUl{padding:0;margin:0;list-style: none;li{padding:5px 10px;cursor: pointer;&:hover{background: #f5f7fa;}}}.customTreeSelectCont{max-height: 500px;overflow-y: auto;&::-webkit-scrollbar {width: 6px;}//默认不展示&::-webkit-scrollbar-thumb {border-radius: 10px;background: rgba(0,0,0,0);}//划过展示,具体写法自己改改&:hover::-webkit-scrollbar-thumb {background: rgba(0,0,0,0.1);}&::-webkit-scrollbar-track {border-radius: 0;background: rgba(0,0,0,0);}}
</style>

 成果是这样的,可以手动试一下

http://www.lryc.cn/news/321104.html

相关文章:

  • 【数组、字符串】算法例题
  • docxTemplater——从word模板生成docx文件
  • Linux权限维持后门及应急响应
  • git相关指令
  • Apache Doris 2.1 核心特性 Variant 数据类型技术深度解析
  • accessToken
  • nodeJs 学习
  • STM32利用AES加密数据、解密数据
  • C语言技能数(知识点汇总)
  • Vue.js+SpringBoot开发企业项目合同信息系统
  • Linux Shell中的echo命令详解
  • php 页面中下载文件|图片
  • 2024年企业经济管理与大数据国际会议(ICEEMBD 2024)
  • 数新网络助阵哈工大国家级项目,共绘数智化新篇章,打造大数据法务平台
  • React+umi+dva 项⽬实战-lesson6
  • Vue el-table 合并单元格
  • 面试算法-61-二叉树的右视图
  • 【鸿蒙HarmonyOS开发笔记】动画过渡效果之布局更新动画
  • 过路费的题解
  • 51单片机LED8*8点阵显示坤坤跳舞打篮球画面
  • C++_day6:2024/3/18
  • 汇编语言和IBM的关系
  • 堆(数据结构)
  • 医药工厂5G智能制造数字孪生可视化平台,推进医药企业数字化转型
  • C语言学习--八种排序算法
  • Infineon_TC264智能车代码初探及C语言深度学习(二)
  • 第十三届蓝桥杯(C/C++ 大学B组)
  • 数据结构从入门到精通——排序的概念及运用
  • react面试题总结
  • 5_springboot_shiro_jwt_多端认证鉴权_禁用Cookie