关于 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']]
相关推荐
canonical_entropy6 小时前
NOP Chaos Flux 架构演变史:从 AMIS 重写到现代低代码运行时
前端·aigc·ai编程
张元清6 小时前
useEffect 之外:专门处理异步、深比较和 SSR 的 Effect Hook
前端·javascript·面试
小小小小宇6 小时前
前端双Token机制无感刷新(二)
前端
XinZong7 小时前
OpenClaw 中最经典的 6 款skill,真正能进工作流的 skills
javascript·后端
zhangxingchao7 小时前
AI Agent 基础问题系统整理:从 LangChain、LangGraph、MCP 到 Agent 架构、记忆、工具调用与评估体系
前端·人工智能·后端
Moment7 小时前
AI 为什么总喜欢写防御性代码?
前端·后端·面试
浑手营销7 小时前
浑手科技案例分享:133个精准询盘短视频玩法
前端·人工智能·科技
XinZong7 小时前
2026 AI社交深度评测:InStreet 与 ClawReach 核心差异解析
javascript
IT_陈寒7 小时前
SpringBoot自动配置的坑,差点让我加班到天亮
前端·人工智能·后端
LucianaiB7 小时前
【Dify + EdgeOne】你奶奶也会做一个“智票通”,轻松票据自定义提取+防数据泄露
前端·后端