Bootstrap

vue3 elementPlus el-cascader动态加载数据

记录一下----------------

前端页面

<template>
  <div>首页</div>
  <el-cascader :props="data.props" v-model="data.value" style="width: 300px"></el-cascader>
</template>
<script setup>
import {regions } from '../../utils/http/home'
const data = reactive({
  value: [],    // 多级联动的值 => 会是一个数组
  cascaderVal: [],
  props: {
    lazy: true,
    lazyLoad: (node, resolve) => {
      // node 节点数据 node.value => 当前节点的值
      // level: 层级 => 1,2,3,4
      const { level } = node;
      // 动态节点
      const nodes = [];
      if (level == 0) {
        regions({ id: 0 }, {}).then((res) => {
          res.data.list.map((item) => {
            //按照官方字段赋值
            let obj = {
              value: item.id,
              label: item.name,
              leaf: node.level >= 1,
            };
            node
;