el-cascader

场景:

el-cascader + lazy + multiple + 反显数据

  1. 非lazy的场景
javascript 复制代码
selecetedOptions2: [
  [1, 2, 3],
  [1, 2, 4],
],

可以正常回显;==> ok

  1. lazy场景下:

    是不可以回显的...

  2. 如果el-cascader是异步的单选

    cascader默认会加载下个层级的(子层级会执行调用),并选中状态 ==> ok

所以只有lazy+多选,回显的时候有问题。

使用了其他的方法,还是没有解决,暂时搁置了。

javascript 复制代码
this.$refs.deviceTree2.getCheckedNodes(true)
this.$refs.deviceTree.panel
this.$refs.deviceTree.panel.menus[0]
this.$refs.deviceTree.panel.lazyLoad(v)

使用其他的组件:@vueblocks/elp-cascader,适用于数据量较大的场景。

查询企业(tree)

tree可以是多层级,且数据较多。

  1. 使用cascader
  2. 使用tree
  3. 使用input和tree模拟select效果
  4. 使用了select,把tree给扁平化了,支持模糊搜索...
html 复制代码
<!--使用input和tree模拟select效果-->
<el-select v-model="searchForm.deptId" placeholder="请选择" ref="selectTree" clearable
           style="width: 100%;"
           @clear="selectTreeClear">
  <el-option :key="searchForm.deptId"
             :label="searchForm.deptName"
             :value="searchForm.deptId"
             hidden>
  </el-option>
  
  <el-input v-model="deptNameQuery" placeholder="输入关键字进行搜索"
            @input="getOrgList" style="width: 96%;margin-left: 2%;"></el-input>
            
  <el-tree ref="deptTree" style="margin-top: 6px;"
           :data="organizationList"
           :props="treerConfig2"
           @node-click="handleNodeClick"></el-tree>
</el-select>
javascript 复制代码
// 选择组织
handleNodeClick (data) {
  console.log('treeNode-data', data)
  this.searchForm.deptId = data.id
  this.searchForm.deptName = data.deptName
  // 选择器执行完成后,使其失去焦点隐藏下拉框的效果
  this.$refs.selectTree.blur()
  console.log('this.searchForm:', this.searchForm)
},
javascript 复制代码
/***
 * 获取所属企业(组织)
 * 1.有环境里,有一万多条数据(一级一万多条,二级很少很少),
 *  cascader(element2.x):
 *   1)一级一万多条,二级很少很少此时页面会卡死
 *   2)7000多条一级数据,当前页面渲染还行,但是跳转其他页面的时候,明显延迟了很多秒(5s以上)
 *   tree:
 *   1)7000多条一级数据,当前页面渲染已经有点困难了,会有卡死现象
 * 2.其他方案:
 * select里套一个input和tree,然后做成模糊搜索的;但是搜索结果不是tree类型的,成平铺状态的了...
 *
 */

element3.x是ok的。虚拟dom

相关推荐
Java后端的Ai之路3 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
程序员大阳5 小时前
副队长JavaScript教程(50)-DOM:网页开发的起点
javascript·dom·es·节点·概念·document·关系
香芋芋圆10 小时前
iD-editor 详解|OSM官方在线编辑器,基于D3.js的轻量地图编辑器
开发语言·javascript·编辑器
晗夜未央12 小时前
任务队列反复失败,先分清重试、阻塞和结果待核对
开发语言·javascript
jktantan12 小时前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
我命由我1234513 小时前
访客系统形式(有用户概念、无用户概念)
java·开发语言·前端·javascript·python·产品运营·产品经理
程序员大阳14 小时前
副队长JavaScript教程(65)-详解JSON:轻量级数据交换格式
javascript·json·序列化·反序列化·stringify·parse
小大宇15 小时前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
paopaokaka_luck15 小时前
基于springboot+vue的益暖微光公益服务平台(DeepSeek公益助手、善款信息追溯、志愿服务积分闭环、ECharts运营分析、活动状态自动流转)
java·前端·javascript·spring boot·mysql·架构·echarts
栀椩15 小时前
Electron 内嵌页面跨域问题(CORS/PNA)解决全记录
前端·javascript·electron