关于 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']]
相关推荐
kyriewen4 小时前
我手写了一个 EventEmitter,面试官追问了 6 个问题——第 4 个我没答上来
前端·javascript·面试
IT_陈寒4 小时前
Java的Date类又坑了我一次,改用时间戳真香
前端·人工智能·后端
山河木马4 小时前
矩阵专题2-怎么创建视图矩阵(uViewMatrix)
javascript·webgl·计算机图形学
小林攻城狮5 小时前
使用 Transport 节流解决 Vercel AI SDK 流式渲染卡死问题
前端·react.js
前端缘梦5 小时前
告别 TS 运行时类型漏洞!Zod 完整入门实战教程(前端 / 全栈必备)
前端·react.js·全栈
the_answer5 小时前
Webpack vs Vite 深度对比分析
前端·webpack
转转技术团队5 小时前
验证码识别实战:前端不写页面,改训模型了?
前端
MomentYY5 小时前
Temperature:AI 的“脑洞旋钮”
前端·llm·ai编程
远航_6 小时前
OpenSpec 完整详细介绍
前端·后端
召钱熏6 小时前
状态枚举正确≠渲染正确:一个语音按钮的状态机边界修复实录
android·前端