赞
踩
ui文档上直接给了一函数
先试试看效果是什么,加上let id=0;不然会报错
- props: {
- lazy: true,
- lazyLoad (node, resolve) {
- let id = 0;
- const { level } = node;
- setTimeout(() => {
- const nodes = Array.from({ length: level + 1 })//创建一个新数组,数组长度level + 1
- .map(item => ({//然后链式调用 map 为这个新数组每一项填充内容
- value: ++id,
- label: `选项${id}`,
- leaf: level >= 2
- }));
- // 通过调用resolve将子节点数据返回,通知组件数据加载完成
- resolve(nodes);
- }, 1000);
- }
- }
node
要传的参数怎么拿?看node参数。现在程序不会报错,并且你已经理解了一大半的代码,可以打印node看看是什么,就是点击的这一级的参数。
最后我完成了级联调用的效果
- lazyLoad(node, resolve) {
- const { level, data } = node //ui组件返回的选中的当前节点
- let parentCode
- if (data) {
- parentCode = data.code
- }
- /**
- * @description: 获取可选地区
- * @param {*} level //0-省 ,1-市,2-区
- * @param {*} parentCode 是取的上一级的code
- * @return {*}
- */
- getLocation({ level, parentCode }) //后端接口
- .then((res) => {
- const result = res.result.map((item) => {
- const { level, name, code } = item // 提取属性
- return {
- label: name, // 修改属性名
- value: name, // 修改属性名
- code,
- level,
- leaf: level == 2
- }
- })
- resolve(result)
- })
- .catch((err) => {
- console.warn(err)
- })
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。