如何快速生成适用于cascader的数据格式?

作者站长头像
站长
· 阅读数 6
dataOptions: [
        {
          value: "1",
          label: "1月",
          children: [
            { value: "1", label: "1号" },
            { value: "2", label: "2号" },
            // ...
            { value: "31", label: "31号" },
          ],
        },
        {
          value: "2",
          label: "2月",
          children: [
            { value: "1", label: "1号" },
            { value: "2", label: "2号" },
            // ...
            { value: "28", label: "28号" },
          ],
        },
        // ....
        {
          value: "12",
          label: "12月",
          children: [
            { value: "1", label: "1号" },
            { value: "2", label: "2号" },
            // ...
            { value: "31", label: "31号" },
          ],
        },
      ],
回复
1个回答
avatar
test
2024-06-26

封装个函数,把年份传进去就行了

const months = [];
for (let i = 1; i <= 12; i++) {
  const month = {
    value: `${i}`,
    label: `${i}月`,
    children: [],
  };
  const daysInMonth = new Date(2023, i, 0).getDate();
  for (let j = 1; j <= daysInMonth; j++) {
    month.children.push({
      value: `${j}`,
      label: `${j}号`,
    });
  }
  months.push(month);
}
console.log(months);
回复
likes
适合作为回答的
  • 经过验证的有效解决办法
  • 自己的经验指引,对解决问题有帮助
  • 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
  • 询问内容细节或回复楼层
  • 与题目无关的内容
  • “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容