关于 element-ui el-cascader 数据回显问题的解决方案

前言

这两天在使用 el-cascader 控件时,后端日期的数据如"2023-05-06"前端需要按照"年-月-日"的形式分割成三级联动,因为数据库保存的是完整的日期,前端数据回显时需要对后端返回的数据进行处理。

问题再现

联动下拉框的数据如下:

javascript 复制代码
{
    date: [
                {
                    label: '2023',
                    value: '2023',
                    children: [
                        {
                            label: '05',
                            value: '05',
                            children: [
                               {
                                   label: '06',
                                   value: '06'
                               },
                                {
                                   label: '07',
                                   value: '07'
                               },
                                {
                                   label: '08',
                                   value: '08'
                               }
                            ]     
                        }
                    ]
                }
            ]
}

当我调完后端接口将日期拆解为如下格式时,下拉框并没有勾选上(图片盗的。。。):

javascript 复制代码
 let date = [{
                    label: '2023',
                    value: '2023',
                    children: [
                        {
                            label: '05',
                            value: '05',
                            children: [
                               {
                                   label: '06',
                                   value: '06'
                               }
                            ]     
                        }
                    ]
            }];

然后给 el-cascader 绑定一个 @change 事件,勾选下拉框后打印日志是这样的:

javascript 复制代码
// 单选(multiple=false) 时, val = ["zhinan","shejiyuanze","yizhi"]
// 多选(multiple=true) 时, val = [["zhinan","shejiyuanze","yizhi"]]

由此可以得出结论:el-cascader 需要的参数是整条路径,第一级,第二级,第三级,\*\*\*

解决方案

将回显数据改造成如下结构即可正常解析:

javascript 复制代码
let date = [['2023','05','06']]
相关推荐
如果超人不会飞17 分钟前
TinyVue 组件库实战指南:从安装到上手一篇就够了
vue.js
掘金者阿豪17 分钟前
终于!我的第二本书正式出版,吃透 Agentic AI 核心不踩坑
javascript·后端
开飞机的舒克_21 分钟前
vue3+router动态权限路由
前端·vue.js
VitoChang21 分钟前
放弃手搓路由吧!用 SolidStart 搞 SPA,真香
前端
GuWenyue22 分钟前
告别JS类型坑!Ts为什么在ai时代逐渐成为"第一"语言
前端·算法·typescript
三乐22824 分钟前
事件循环是什么东西,一篇文章带你了解
前端·javascript
wuhen_n25 分钟前
RAG 核心:向量嵌入与本地向量数据库实战
前端·langchain·ai编程
孟陬27 分钟前
国外技术周刊 #139:LLM 正在杀死程序员的「懒惰美德」
前端·人工智能·后端
lichenyang45335 分钟前
补充:Repeat 虚拟滚动与 cachedCount 到底怎么用
前端
七牛云行业应用35 分钟前
Codex CLI 和 Codex 桌面端完整教程:两种入口的功能对比与选择指南
前端·后端·github