关于 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']]
相关推荐
Senar9 分钟前
Web端选择本地文件的几种方式
前端·javascript·html
烛阴27 分钟前
UV Coordinates & Uniforms -- OpenGL UV坐标和Uniform变量
前端·webgl
姑苏洛言31 分钟前
扫码小程序实现仓库进销存管理中遇到的问题 setStorageSync 存储大小限制错误解决方案
前端·后端
烛阴41 分钟前
JavaScript 的 8 大“阴间陷阱”,你绝对踩过!99% 程序员崩溃瞬间
前端·javascript·面试
lh_12541 小时前
ECharts 地图开发入门
前端·javascript·echarts
jjw_zyfx1 小时前
成熟的前端vue vite websocket,Django后端实现方案包含主动断开websocket连接的实现
前端·vue.js·websocket
Mikey_n2 小时前
前台调用接口的方式及速率对比
前端
周之鸥2 小时前
使用 Electron 打包可执行文件和资源:完整实战教程
前端·javascript·electron
我爱吃朱肉2 小时前
HTMLCSS模板实现水滴动画效果
前端·css·css3
机器视觉知识推荐、就业指导2 小时前
开源QML控件:进度条滑动控件(含源码下载链接)
前端·qt·开源·qml