From 3b86435766bc19902b934d4e7c17bf4cf609354e Mon Sep 17 00:00:00 2001 From: JinMao Date: Mon, 18 Apr 2022 08:21:04 +0800 Subject: [PATCH] feat: ApiTree add afterFetch props,add ApiTree demo --- .../Form/src/components/ApiTree.vue | 6 +++++- src/views/demo/form/index.vue | 21 +++++++++++++++++++ 2 files changed, 26 insertions(+), 1 deletion(-) diff --git a/src/components/Form/src/components/ApiTree.vue b/src/components/Form/src/components/ApiTree.vue index b81d76b5..0ec6917d 100644 --- a/src/components/Form/src/components/ApiTree.vue +++ b/src/components/Form/src/components/ApiTree.vue @@ -24,6 +24,7 @@ params: { type: Object }, immediate: { type: Boolean, default: true }, resultField: propTypes.string.def(''), + afterFetch: { type: Function as PropType }, }, emits: ['options-change', 'change'], setup(props, { attrs, emit }) { @@ -61,7 +62,7 @@ }); async function fetch() { - const { api } = props; + const { api, afterFetch } = props; if (!api || !isFunction(api)) return; loading.value = true; treeData.value = []; @@ -71,6 +72,9 @@ } catch (e) { console.error(e); } + if (afterFetch && isFunction(afterFetch)) { + result = afterFetch(result); + } loading.value = false; if (!result) return; if (!isArray(result)) { diff --git a/src/views/demo/form/index.vue b/src/views/demo/form/index.vue index 6d6799d6..c6e96bf6 100644 --- a/src/views/demo/form/index.vue +++ b/src/views/demo/form/index.vue @@ -460,6 +460,27 @@ span: 8, }, }, + { + field: 'field36', + component: 'ApiTree', + label: '远程Tree', + helpMessage: ['ApiTree组件', '使用接口提供的数据生成选项'], + required: true, + componentProps: { + api: treeOptionsListApi, + params: { + count: 2, + }, + afterFetch: (v) => { + //do something + return v; + }, + resultField: 'list', + }, + colProps: { + span: 8, + }, + }, { field: 'divider-linked', component: 'Divider',