首页 > 其他分享 >vue elementUI el-tree 下拉树功能(包括搜索/默认高亮/展开下拉框默认定位于选中项的位置)

vue elementUI el-tree 下拉树功能(包括搜索/默认高亮/展开下拉框默认定位于选中项的位置)

时间:2024-07-03 15:42:56浏览次数:22  
标签:el 00 12 默认 null data 下拉框 allName

<template> <div> <el-form :model="formData" ref="refFormData" label-width="180px"> <el-form-item label="景点" prop="location_id"> <el-select v-model="formData.location_name" placeholder="请选择" style="width: 430px;background: #fff" ref="selectRefs" :popper-append-to-body="false" fixed> <el-input placeholder="输入关键字搜索" v-model="filterText" suffix-icon="el-icon-search" @click.stop.native class="sel-input" v-if="testData.length !== 0"> </el-input> <el-option :value="formData.location_name" :label="formData.location_name" class="sel-option"> <el-tree :data="testData" :props="testDataProps" node-key="allName" default-expand-all highlight-current accordion @node-click="handleNodeClick" :filter-node-method="filterNode" ref="testDataTree"> <template #default="{ node, data }"> <div class="custom-tree-node"> <span class="pl-1">{{data.allName}}</span> </div> </template> </el-tree> </el-option> </el-select> </el-form-item> </el-form>
</div> </template>
<script> import axios from 'axios' export default { name: 'name', props: {
}, data () { return { formData: { location_id: '', location_name: '华夏集团有限公司' }, filterText: '', // 获取关键字信息 testDataProps: [{//value,label根据接口返回的数据修改 value: 'code', label: 'allName', children: 'children' }], testData: [] }; }, created () { this.getData() }, methods: { getData () { axios.get('https://api.oioweb.cn/api/SoulWords').then(res => { if (res.data && res.data.code == 200) { console.log(res.data.result.content, '获取响应'); this.testData = [ { "code": "1064", "allName": "华夏集团有限公司", "usciCode": "9111000071093107XN", "delFlag": "0", "createTime": "2017-07-07 09:07:17", "updateTime": "2023-12-23 02:12:19", "fstBoard": null, "secBoard": null, "thrBoard": null, "forBoard": null, "country": "156", "province": "110000", "adminUnit": "AAAA", "rightUnit": "AAAA", "contactPerson": "夏", "contactTel": "15110012159", "adminUnitName": null, "rightUnitName": null, "internalFlag": null, "unitLevel": "1", "tempFlag": "1", "orgType": "151", "registCptl": 37000000000, "gnrtAst": 822220000000, "setDate": "2023-12-25 00:00:00", "opRng": "=====", "registAddr": "11111地址", "maxholder": "11100000000019545B", "filler": "夏", "phoneNum": "15110012159", "dayidx": "2023-11-30 00:00:00", "children": [ { "code": "1003", "allName": "华夏集团财务有限公司", "usciCode": "91110000117783037M", "delFlag": "0", "createTime": "2017-08-16 09:08:50", "updateTime": "2023-12-23 02:12:22", "fstBoard": null, "secBoard": null, "thrBoard": null, "forBoard": null, "country": "156", "province": "110000", "adminUnit": "1064", "rightUnit": "1064", "contactPerson": "夏小夏", "contactTel": "010-83568002", "adminUnitName": "华夏集团有限公司", "rightUnitName": "华夏集团有限公司", "internalFlag": "1", "unitLevel": "1", "tempFlag": "1", "orgType": "160", "registCptl": 5541117395, "gnrtAst": 73639820632, "setDate": "2023-12-25 00:00:00", "opRng": "=====", "registAddr": "11111地址", "maxholder": "9111000071093107XN", "filler": "夏小夏", "phoneNum": "010-83568002", "dayidx": "2023-11-30 00:00:00", "children": null },   ] } ] this.$nextTick(() => { //默认展开选中第一个 this.$refs.testDataTree.setCurrentKey(this.testData[0].allName); }) } }); }, filterNode (value, data) { if (!value) return true return data.label.indexOf(value) !== -1 }, handleNodeClick (data) { this.formData.location_id = data.code this.formData.location_name = data.allName
this.$refs.selectRefs.blur() // 收起下拉框

} }, watch: { 'filterText' (val) { this.$refs.testDataTree.filter(val) } }
}; </script>
<style lang='scss' scoped> // 修改下拉树重新下拉滚动条不在最顶部问题 ::v-deep .el-select-dropdown__wrap.el-scrollbar__wrap { max-height: none !important; } ::v-deep .el-select-dropdown .el-scrollbar .el-scrollbar__view .el-select-dropdown__item { max-height: 274px; padding: 0; height: auto; overflow: auto; } // 修改下拉树重新下拉滚动条不在最顶部问题结束 .sel-input { width: 94%; margin-left: 3%; text-align: center; } </style>

标签:el,00,12,默认,null,data,下拉框,allName
From: https://www.cnblogs.com/fkcqwq/p/18281741

相关文章

  • Hello World with solidity
    1.Solidity是什么?Solidity是一种面向对象的、静态类型的编程语言,专为在以太坊上编写智能合约而创建。由于以太坊上的智能合约可以处理真实世界的资产(比如加密货币),所以Solidity的设计非常关注安全性。以下是Solidity的一些主要特点:类型安全和静态类型:这可以避免在运行时出......
  • 这份Excel+Python飞速搞定数据分析手册,简直可以让Excel飞起来
    微软在UserVoice上运营着⼀个反馈论坛,每个⼈都可以在这⾥提交新点⼦供他⼈投票。票数最⾼的功能请求是“将Python作为Excel的⼀门脚本语⾔”,其得票数差不多是第⼆名的两倍。尽管⾃2015年这个点⼦发布以来并没有什么实质性进展,但在2020年年末,Python之⽗GuidovanRoss......
  • laravel 数组元素按中文排序
    1、按英文排序$r=[['color'=>'b','color_zh'=>'波'],['color'=>'c','color_zh'=>'吃'],['color'=>'a','color_zh'=>'啊......
  • 05-Excel初阶操作-学习笔记
    DATE函数函数格式:DATE(参数1,参数2,参数3)参数说明:参数1:年份;参数2:月份;参数3:日作用:将文本类型转换为正确的日期格式应用场景:身份证号提取出生日期其中,MID()是文本截取函数注意!如果输入2000-2-30使用date函数后会进行进位显示2000-3-1Year、Month、Day函数作用:日期拆分为......
  • Elasticsearch
    一、es客户端-kibana 没有数据库概念,只有索引索引=表 建索引:建空索引(空表):PUTxxx注意:如果没有设置表字段类型,则会默认类型 查询所有:GETxxx/_search{"query":{"match_all":{}}} 统计:GET/xxx/_count 模糊匹配:GETxxx/_search{"query":{"match_......
  • 动手学Avalonia:基于SemanticKernel与硅基流动构建AI聊天与翻译工具
    Avalonia是什么?Avalonia是一个跨平台的UI框架,专为.NET开发打造,提供灵活的样式系统,支持Windows、macOS、Linux、iOS、Android及WebAssembly等多种平台。它已成熟并适合生产环境,被SchneiderElectric、Unity、JetBrains和GitHub等公司采用。许多人认为Avalonia是WPF的继任者,它为XA......
  • 计算机毕业设计Thinkphp/Laravel高校学生管理系统m4dtg+vue
    Laravel非常的简洁并且是开源的,Laravel是一个具有表现力、优雅语法的Web应用程序框架.Laravel是构建现代全栈Web应用程序的最佳选择.开发语言:php后端框架:Thinkphp/Laravel前端框架:vue.js服务器:apache数据库:mysql运行环境:phpstudy/wamp/xammp等技术路线如下:1.后......
  • CF453C Little Pony and Summer Sun Celebration
    CF453CLittlePonyandSummerSunCelebration生成树+构造看看一个点的奇偶性意味着什么。意味着奇数的点必须经过至少一次,而偶数不用经过。那么所有奇数的点两两路径必须构成一个连通块。然后就可以开始想构造了。考虑连通块上的任意一棵生成树,如果一个非根节点走完子树后次......
  • electron 启动时调用exe
    在electron主程序,一般未main中//exe地址letservicePath='resources/service/win-unpacked/vue3-ts-music.exe'if(process.env.NODE_ENV==='development'){ servicePath='service/win-unpacked/vue3-ts-music.exe'}app.whenReady()......
  • excel基本操作:基础、数据条件格式、快捷键
    Excel有三个模式分别是选择模式、编辑模式和输入模式(有光标)=====》这些了解就够了,也是最基本的。1.快捷键:ctrl+shift+右三角   选择所有的直到右边没有空格的在体重的那个空格选择的时候,按住上面的组合键就会出现从体重那一列直到球员奖金那一列在按住ctrl+shift+下就......