0


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

前言

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

问题再现

  1. 联动下拉框的数据如下:
  1. {
  2. date: [
  3. {
  4. label: '2023',
  5. value: '2023',
  6. children: [
  7. {
  8. label: '05',
  9. value: '05',
  10. children: [
  11. {
  12. label: '06',
  13. value: '06'
  14. },
  15. {
  16. label: '07',
  17. value: '07'
  18. },
  19. {
  20. label: '08',
  21. value: '08'
  22. }
  23. ]
  24. }
  25. ]
  26. }
  27. ]
  28. }

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

  1. let date = [{
  2. label: '2023',
  3. value: '2023',
  4. children: [
  5. {
  6. label: '05',
  7. value: '05',
  8. children: [
  9. {
  10. label: '06',
  11. value: '06'
  12. }
  13. ]
  14. }
  15. ]
  16. }];

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

  1. // 单选(multiple=false) 时, val = ["zhinan","shejiyuanze","yizhi"]
  2. // 多选(multiple=true) 时, val = [["zhinan","shejiyuanze","yizhi"]]

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

解决方案

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

  1. let date = [['2023','05','06']]

本文转载自: https://blog.csdn.net/hyk521/article/details/140131073
版权归原作者 幸运小男神 所有, 如有侵权,请联系我们删除。

“关于 element-ui el-cascader 数据回显问题的解决方案”的评论:

还没有评论