diff --git a/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue b/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue
index 81075cf65..d65d794b8 100644
--- a/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue
+++ b/apps/vue/src/components/FlowDesign/src/components/InsertButton.vue
@@ -26,6 +26,10 @@
触发器
+
+
+ HttpEndPoint
+
-
+
+
@@ -45,6 +47,7 @@
import { PlusOutlined, MinusOutlined } from '@ant-design/icons-vue';
import { useFlowStoreWithOut } from '/@/store/modules/flow';
import ProcessTree from './process/ProcessTree.vue';
+ import NodeConfig from './config/NodeConfig.vue'
const flowStore = useFlowStoreWithOut();
const state = reactive({
@@ -102,6 +105,10 @@
console.log('配置节点', node)
state.showConfig = true
}
+
+ defineExpose({
+ validate,
+ });
\ No newline at end of file
diff --git a/apps/vue/src/components/FlowDesign/src/components/config/ApprovalNodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/ApprovalNodeConfig.vue
new file mode 100644
index 000000000..62a3bea52
--- /dev/null
+++ b/apps/vue/src/components/FlowDesign/src/components/config/ApprovalNodeConfig.vue
@@ -0,0 +1,349 @@
+
+
+
+
+
+
+
diff --git a/apps/vue/src/components/FlowDesign/src/components/config/HttpEndPointNodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/HttpEndPointNodeConfig.vue
new file mode 100644
index 000000000..10a171914
--- /dev/null
+++ b/apps/vue/src/components/FlowDesign/src/components/config/HttpEndPointNodeConfig.vue
@@ -0,0 +1,86 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/vue/src/components/FlowDesign/src/components/config/NodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/NodeConfig.vue
index e69de29bb..40a31b403 100644
--- a/apps/vue/src/components/FlowDesign/src/components/config/NodeConfig.vue
+++ b/apps/vue/src/components/FlowDesign/src/components/config/NodeConfig.vue
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue b/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue
index d796fc516..978f355b8 100644
--- a/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue
+++ b/apps/vue/src/components/FlowDesign/src/components/config/RootNodeConfig.vue
@@ -1,15 +1,22 @@
选择能发起该审批的人员/部门,不选则默认开放给所有人
-
-
+
+
+
+
+
diff --git a/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue b/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue
index 999826c3d..1369cd110 100644
--- a/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue
+++ b/apps/vue/src/components/FlowDesign/src/components/nodes/Node.vue
@@ -16,8 +16,11 @@
-
+
+
+ {{ errorInfo }}
+
diff --git a/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts b/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts
index a56c95657..11ffe92ff 100644
--- a/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts
+++ b/apps/vue/src/components/FlowDesign/src/components/process/DefaultNodeProps.ts
@@ -107,6 +107,32 @@ export const DELAY_PROPS = {
dateTime: "" //如果当天没有超过设置的此时间点,就延时到这个指定的时间,到了就直接跳过不延时
}
+//HTTP EndPoint默认属性
+export const HTTPENDPOINT_PROPS = {
+ path: '',
+ methods: [],
+ readCotntent: false,
+ targetType: '',
+ schema: '',
+ authorize: false,
+ policy: '',
+}
+
export default {
- APPROVAL_PROPS, CC_PROPS, DELAY_PROPS, CONDITION_PROPS, ROOT_PROPS, TRIGGER_PROPS
+ APPROVAL_PROPS,
+ CC_PROPS,
+ DELAY_PROPS,
+ CONDITION_PROPS,
+ ROOT_PROPS,
+ TRIGGER_PROPS,
+ HTTPENDPOINT_PROPS,
}
+
+export const PrimaryNodes = [
+ 'ROOT',
+ 'APPROVAL',
+ 'CC',
+ 'DELAY',
+ 'TRIGGER',
+ 'HTTPENDPOINT'
+];
diff --git a/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue b/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue
index 03f95c0df..5b0a28c40 100644
--- a/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue
+++ b/apps/vue/src/components/FlowDesign/src/components/process/ProcessTree.vue
@@ -4,6 +4,7 @@
import { useMessage } from '/@/hooks/web/useMessage';
import { useFlowStoreWithOut } from '/@/store/modules/flow';
//导入所有节点组件
+ import HttpEndPoint from '../nodes/HttpEndPointNode.vue';
import Approval from '../nodes/ApprovalNode.vue';
import Cc from '../nodes/CcNode.vue';
import Concurrent from '../nodes/ConcurrentNode.vue';
@@ -14,12 +15,13 @@
import Root from '../nodes/RootNode.vue';
import Node from '../nodes/Node.vue';
- import DefaultProps from "./DefaultNodeProps";
+ import DefaultProps, { PrimaryNodes } from "./DefaultNodeProps";
import { cloneDeep } from 'lodash-es';
export default defineComponent({
name: 'ProcessTree',
components: {
+ httpendpoint: HttpEndPoint,
Approval,
Cc,
Concurrent,
@@ -49,25 +51,25 @@
function getDomTree(node) {
toMapping(node);
- if (isPrimaryNode(node)){
+ if (isPrimaryNode(node)) {
//普通业务节点
- let childDoms = getDomTree(node.children)
- decodeAppendDom(node, childDoms)
+ let childDoms = getDomTree(node.children);
+ decodeAppendDom(node, childDoms);
return [h('div', {'class':{'primary-node': true}}, { default: () => childDoms })];
- } else if (isBranchNode(node)){
+ } else if (isBranchNode(node)) {
let index = 0;
//遍历分支节点,包含并行及条件节点
let branchItems = node.branchs.map(branchNode => {
//处理每个分支内子节点
toMapping(branchNode);
- let childDoms = getDomTree(branchNode.children)
- decodeAppendDom(branchNode, childDoms, {level: index + 1, size: node.branchs.length})
+ let childDoms = getDomTree(branchNode.children);
+ decodeAppendDom(branchNode, childDoms, {level: index + 1, size: node.branchs.length});
//插入4条横线,遮挡掉条件节点左右半边线条
- insertCoverLine(index, childDoms, node.branchs)
+ insertCoverLine(index, childDoms, node.branchs);
//遍历子分支尾部分支
index++;
return h('div', {'class':{'branch-node-item': true}}, { default: () => childDoms });
- })
+ });
//插入添加分支/条件的按钮
branchItems.unshift(
h(
@@ -85,25 +87,24 @@
},
{ default: () => [] })
]}));
- let bchDom = [h('div', {'class':{'branch-node': true}}, { default: () => branchItems })]
+ let bchDom = [h('div', {'class':{'branch-node': true}}, { default: () => branchItems })];
//继续遍历分支后的节点
- let afterChildDoms = getDomTree(node.children)
- return [h('div', {}, { default: () => [bchDom, afterChildDoms] })]
- }else if (isEmptyNode(node)){
+ let afterChildDoms = getDomTree(node.children);
+ return [h('div', {}, { default: () => [bchDom, afterChildDoms] })];
+ } else if (isEmptyNode(node)) {
//空节点,存在于分支尾部
- let childDoms = getDomTree(node.children)
- decodeAppendDom(node, childDoms)
+ let childDoms = getDomTree(node.children);
+ decodeAppendDom(node, childDoms);
return [h('div', {'class':{'empty-node': true}}, { default: () => childDoms })];
- }else {
+ } else {
//遍历到了末端,无子节点
return [];
}
}
//解码渲染的时候插入dom到同级
- function decodeAppendDom(node, dom, props = {} as any){
- console.log('decodeAppendDom', node);
- props.config = node
+ function decodeAppendDom(node, dom, props = {} as any) {
+ props.config = node;
const component = resolveComponent(node.type.toLowerCase());
dom?.unshift(h(component, {
...props,
@@ -116,26 +117,26 @@
onCopy: () => copyBranch(node),
onLeftMove: () => branchMove(node, -1),
onRightMove: () => branchMove(node, 1),
- }))
+ }));
}
//id映射到map,用来向上遍历
- function toMapping(node){
- if (node && node.id){
+ function toMapping(node) {
+ if (node && node.id) {
//console.log("node=> " + node.id + " name:" + node.name + " type:" + node.type)
- nodeMap.value.set(node.id, node)
+ nodeMap.value.set(node.id, node);
}
}
function insertCoverLine(index, doms, branchs){
- if (index === 0){
+ if (index === 0) {
//最左侧分支
- doms.unshift(h('div', {'class':{'line-top-left': true}}, { default: () => [] }))
- doms.unshift(h('div', {'class':{'line-bot-left': true}}, { default: () => [] }))
- } else if (index === branchs.length - 1){
+ doms.unshift(h('div', {'class':{'line-top-left': true}}, { default: () => [] }));
+ doms.unshift(h('div', {'class':{'line-bot-left': true}}, { default: () => [] }));
+ } else if (index === branchs.length - 1) {
//最右侧分支
- doms.unshift(h('div', {'class':{'line-top-right': true}}, { default: () => [] }))
- doms.unshift(h('div', {'class':{'line-bot-right': true}}, { default: () => [] }))
+ doms.unshift(h('div', {'class':{'line-top-right': true}}, { default: () => [] }));
+ doms.unshift(h('div', {'class':{'line-bot-right': true}}, { default: () => [] }));
}
}
@@ -146,69 +147,67 @@
forEachNode(parentNode, branchNode, (parent, node) => {
let id = getRandomId()
console.log(node, '新id =>'+ id, '老nodeId:' + node.id )
- node.id = id
- node.parentId = parent.id
- })
- parentNode.branchs.splice(parentNode.branchs.indexOf(node), 0, branchNode)
+ node.id = id;
+ node.parentId = parent.id;
+ });
+ parentNode.branchs.splice(parentNode.branchs.indexOf(node), 0, branchNode);
instance?.proxy?.$forceUpdate();
}
- function branchMove(node, offset){
- let parentNode = nodeMap.value.get(node.parentId)
- let index = parentNode.branchs.indexOf(node)
- let branch = parentNode.branchs[index + offset]
- parentNode.branchs[index + offset] = parentNode.branchs[index]
- parentNode.branchs[index] = branch
+ function branchMove(node, offset) {
+ let parentNode = nodeMap.value.get(node.parentId);
+ let index = parentNode.branchs.indexOf(node);
+ let branch = parentNode.branchs[index + offset];
+ parentNode.branchs[index + offset] = parentNode.branchs[index];
+ parentNode.branchs[index] = branch;
instance?.proxy?.$forceUpdate();
}
//判断是否为主要业务节点
- function isPrimaryNode(node){
- return node &&
- (node.type === 'ROOT' || node.type === 'APPROVAL'
- || node.type === 'CC' || node.type === 'DELAY'
- || node.type === 'TRIGGER');
+ function isPrimaryNode(node) {
+ return node && PrimaryNodes.includes(node.type);
}
- function isBranchNode(node){
+ function isBranchNode(node) {
return node && (node.type === 'CONDITIONS' || node.type === 'CONCURRENTS');
}
- function isEmptyNode(node){
- return node && (node.type === 'EMPTY')
+ function isEmptyNode(node) {
+ return node && (node.type === 'EMPTY');
}
//是分支节点
- function isConditionNode(node){
+ function isConditionNode(node) {
return node.type === 'CONDITIONS';
}
//是分支节点
- function isBranchSubNode(node){
+ function isBranchSubNode(node) {
return node && (node.type === 'CONDITION' || node.type === 'CONCURRENT');
}
- function isConcurrentNode(node){
- return node.type === 'CONCURRENTS'
+ function isConcurrentNode(node) {
+ return node.type === 'CONCURRENTS';
}
- function getRandomId(){
- return `node_${new Date().getTime().toString().substring(5)}${Math.round(Math.random()*9000+1000)}`
+ function getRandomId() {
+ return `node_${new Date().getTime().toString().substring(5)}${Math.round(Math.random()*9000+1000)}`;
}
//选中一个节点
- function selectNode(node){
+ function selectNode(node) {
+ console.log('selectNode', node);
flowStore.selectNode(node);
- emit('selectedNode', node)
+ emit('selectedNode', node);
}
//处理节点插入逻辑
- function insertNode(type, parentNode){
+ function insertNode(type, parentNode) {
console.log('insertNode', type, parentNode);
const rootEl = unref(rootRef);
rootEl?.click()
//缓存一下后面的节点
- let afterNode = parentNode.children
+ let afterNode = parentNode.children;
//插入新节点
parentNode.children = {
id: getRandomId(),
@@ -223,17 +222,18 @@
case 'TRIGGER': insertTriggerNode(parentNode); break;
case 'CONDITIONS': insertConditionsNode(parentNode); break;
case 'CONCURRENTS': insertConcurrentsNode(parentNode); break;
+ case 'HTTPENDPOINT': insertHttpEndPointNode(parentNode); break;
default: break;
}
//拼接后续节点
- if (isBranchNode({type: type})){
- if (afterNode && afterNode.id){
- afterNode.parentId = parentNode.children.children.id
+ if (isBranchNode({type: type})) {
+ if (afterNode && afterNode.id) {
+ afterNode.parentId = parentNode.children.children.id;
}
parentNode.children.children.children = afterNode;
} else {
- if (afterNode && afterNode.id){
- afterNode.parentId = parentNode.children.id
+ if (afterNode && afterNode.id) {
+ afterNode.parentId = parentNode.children.id;
}
parentNode.children.children = afterNode;
}
@@ -243,7 +243,6 @@
function insertApprovalNode(parentNode){
parentNode.children.name = '审批人';
parentNode.children.props = cloneDeep(DefaultProps.APPROVAL_PROPS);
- console.log('parentNode', parentNode);
}
function insertCcNode(parentNode){
@@ -266,7 +265,7 @@
parentNode.children.children = {
id: getRandomId(),
parentId: parentNode.children.id,
- type: "EMPTY"
+ type: "EMPTY",
};
parentNode.children.branchs = [
{
@@ -275,14 +274,14 @@
type: "CONDITION",
props: cloneDeep(DefaultProps.CONDITION_PROPS),
name: "条件1",
- children:{}
+ children:{},
},{
id: getRandomId(),
parentId: parentNode.children.id,
type: "CONDITION",
props: cloneDeep(DefaultProps.CONDITION_PROPS),
name: "条件2",
- children:{}
+ children:{},
}
];
}
@@ -308,131 +307,136 @@
parentId: parentNode.children.id,
type: "CONCURRENT",
props: {},
- children:{}
+ children:{},
}
];
}
- function getBranchEndNode(conditionNode){
- if (!conditionNode.children || !conditionNode.children.id){
+ function insertHttpEndPointNode(parentNode) {
+ parentNode.children.name = 'HttpEndPoint';
+ parentNode.children.props = cloneDeep(DefaultProps.HTTPENDPOINT_PROPS);
+ }
+
+ function getBranchEndNode(conditionNode) {
+ if (!conditionNode.children || !conditionNode.children.id) {
return conditionNode;
}
return getBranchEndNode(conditionNode.children);
}
- function addBranchNode(node){
- if (node.branchs.length < 8){
+ function addBranchNode(node) {
+ if (node.branchs.length < 8) {
node.branchs.push({
id: getRandomId(),
parentId: node.id,
name: (isConditionNode(node) ? '条件':'分支') + (node.branchs.length + 1),
props: isConditionNode(node) ? cloneDeep(DefaultProps.CONDITION_PROPS):{},
type: isConditionNode(node) ? "CONDITION":"CONCURRENT",
- children:{}
- })
+ children: {},
+ });
} else {
createMessage.warning("最多只能添加 8 项😥");
}
}
//删除当前节点
- function delNode(node){
+ function delNode(node) {
console.log("删除节点", node);
//获取该节点的父节点
- let parentNode = nodeMap.value.get(node.parentId)
- if (parentNode){
+ let parentNode = nodeMap.value.get(node.parentId);
+ if (parentNode) {
//判断该节点的父节点是不是分支节点
- if (isBranchNode(parentNode)){
+ if (isBranchNode(parentNode)) {
//移除该分支
- parentNode.branchs.splice(parentNode.branchs.indexOf(node), 1)
+ parentNode.branchs.splice(parentNode.branchs.indexOf(node), 1);
//处理只剩1个分支的情况
- if (parentNode.branchs.length < 2){
+ if (parentNode.branchs.length < 2) {
//获取条件组的父节点
- let ppNode = nodeMap.value.get(parentNode.parentId)
+ let ppNode = nodeMap.value.get(parentNode.parentId);
//判断唯一分支是否存在业务节点
- if (parentNode.branchs[0].children && parentNode.branchs[0].children.id){
+ if (parentNode.branchs[0].children && parentNode.branchs[0].children.id) {
//将剩下的唯一分支头部合并到主干
- ppNode.children = parentNode.branchs[0].children
- ppNode.children.parentId = ppNode.id
+ ppNode.children = parentNode.branchs[0].children;
+ ppNode.children.parentId = ppNode.id;
//搜索唯一分支末端最后一个节点
- let endNode = getBranchEndNode(parentNode.branchs[0])
+ let endNode = getBranchEndNode(parentNode.branchs[0]);
//后续节点进行拼接, 这里要取EMPTY后的节点
- endNode.children = parentNode.children.children
- if (endNode.children && endNode.children.id){
- endNode.children.parentId = endNode.id
+ endNode.children = parentNode.children.children;
+ if (endNode.children && endNode.children.id) {
+ endNode.children.parentId = endNode.id;
}
}else {
//直接合并分支后面的节点,这里要取EMPTY后的节点
- ppNode.children = parentNode.children.children
- if (ppNode.children && ppNode.children.id){
- ppNode.children.parentId = ppNode.id
+ ppNode.children = parentNode.children.children;
+ if (ppNode.children && ppNode.children.id) {
+ ppNode.children.parentId = ppNode.id;
}
}
}
}else {
//不是的话就直接删除
if (node.children && node.children.id) {
- node.children.parentId = parentNode.id
+ node.children.parentId = parentNode.id;
}
- parentNode.children = node.children
+ parentNode.children = node.children;
}
instance?.proxy?.$forceUpdate();
} else {
- createMessage.warning("出现错误,找不到上级节点😥")
+ createMessage.warning("出现错误,找不到上级节点😥");
}
}
function validateProcess(){
- state.valid = true
- let err = []
- validate(err, dom.value)
- return err
+ state.valid = true;
+ let err = [];
+ validate(err, dom.value);
+ return err;
}
function validateNode(err, node){
const nodeRef = instance?.refs[node.id] as unknown as any;
- if (nodeRef?.validate){
- state.valid = nodeRef.validate(err)
+ if (nodeRef?.validate) {
+ state.valid = nodeRef.validate(err);
}
}
//更新指定节点的dom
function nodeDomUpdate(node){
const nodeRef = instance?.refs[node.id] as unknown as any;
- nodeRef?.$forceUpdate()
+ nodeRef?.$forceUpdate();
}
//给定一个起始节点,遍历内部所有节点
function forEachNode(parent, node, callback){
- if (isBranchNode(node)){
- callback(parent, node)
- forEachNode(node, node.children, callback)
+ if (isBranchNode(node)) {
+ callback(parent, node);
+ forEachNode(node, node.children, callback);
node.branchs.map(branchNode => {
- callback(node, branchNode)
- forEachNode(branchNode, branchNode.children, callback)
- })
- } else if (isPrimaryNode(node) || isEmptyNode(node) || isBranchSubNode(node)){
- callback(parent, node)
- forEachNode(node, node.children, callback)
+ callback(node, branchNode);
+ forEachNode(branchNode, branchNode.children, callback);
+ });
+ } else if (isPrimaryNode(node) || isEmptyNode(node) || isBranchSubNode(node)) {
+ callback(parent, node);
+ forEachNode(node, node.children, callback);
}
}
//校验所有节点设置
- function validate(err, node){
- if (isPrimaryNode(node)){
- validateNode(err, node)
- validate(err, node.children)
- } else if (isBranchNode(node)){
+ function validate(err, node) {
+ if (isPrimaryNode(node)) {
+ validateNode(err, node);
+ validate(err, node.children);
+ } else if (isBranchNode(node)) {
//校验每个分支
node.branchs.map(branchNode => {
//校验条件节点
- validateNode(err, branchNode)
+ validateNode(err, branchNode);
//校验条件节点后面的节点
- validate(err, branchNode.children)
- })
- validate(err, node.children)
- } else if (isEmptyNode(node)){
- validate(err, node.children)
+ validate(err, branchNode.children);
+ });
+ validate(err, node.children);
+ } else if (isEmptyNode(node)) {
+ validate(err, node.children);
}
}
diff --git a/apps/vue/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue b/apps/vue/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue
index 5ada4eb4b..a03bc0f9f 100644
--- a/apps/vue/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue
+++ b/apps/vue/src/components/FormDesign/src/components/VFormDesign/components/ComponentProps.vue
@@ -56,9 +56,11 @@
v-if="
[
'Select',
+ 'ApiSelect',
'CheckboxGroup',
'RadioGroup',
'TreeSelect',
+ 'ApiTreeSelect',
'Cascader',
'AutoComplete',
].includes(formConfig.currentItem.component)
diff --git a/apps/vue/src/components/FormDesign/src/components/VFormDesign/config/componentPropsConfig.ts b/apps/vue/src/components/FormDesign/src/components/VFormDesign/config/componentPropsConfig.ts
index 389385739..e9641063f 100644
--- a/apps/vue/src/components/FormDesign/src/components/VFormDesign/config/componentPropsConfig.ts
+++ b/apps/vue/src/components/FormDesign/src/components/VFormDesign/config/componentPropsConfig.ts
@@ -19,6 +19,7 @@ export const baseComponentControlAttrs: Omit[] = [
includes: [
'Input',
'Select',
+ 'ApiSelect',
'InputTextArea',
'InputNumber',
'DatePicker',
@@ -27,6 +28,7 @@ export const baseComponentControlAttrs: Omit[] = [
'TimePicker',
'Cascader',
'TreeSelect',
+ 'ApiTreeSelect',
'Switch',
'AutoComplete',
'Slider',
@@ -38,6 +40,7 @@ export const baseComponentControlAttrs: Omit[] = [
includes: [
'Input',
'Select',
+ 'ApiSelect',
'InputTextArea',
'InputNumber',
'DatePicker',
@@ -46,6 +49,7 @@ export const baseComponentControlAttrs: Omit[] = [
'TimePicker',
'Cascader',
'TreeSelect',
+ 'ApiTreeSelect',
'AutoComplete',
],
},
@@ -53,7 +57,7 @@ export const baseComponentControlAttrs: Omit[] = [
{
name: 'showSearch',
label: '可搜索',
- includes: ['Select', 'TreeSelect', 'Cascader', 'Transfer'],
+ includes: ['Select', 'ApiSelect', 'TreeSelect', 'ApiTreeSelect', 'Cascader', 'Transfer'],
},
{
name: 'showTime',
@@ -73,7 +77,7 @@ export const baseComponentControlAttrs: Omit[] = [
{
name: 'multiple',
label: '多选',
- includes: ['Select', 'TreeSelect', 'Upload'],
+ includes: ['Select', 'ApiSelect', 'TreeSelect', 'ApiTreeSelect', 'Upload'],
},
{
name: 'directory',
@@ -88,19 +92,19 @@ export const baseComponentControlAttrs: Omit[] = [
{
name: 'bordered',
label: '是否有边框',
- includes: ['Select', 'Input'],
+ includes: ['Select', 'ApiSelect', 'Input'],
},
{
name: 'defaultActiveFirstOption',
label: '高亮第一个选项',
component: 'Checkbox',
- includes: ['Select', 'AutoComplete'],
+ includes: ['Select', 'ApiSelect', 'AutoComplete'],
},
{
name: 'dropdownMatchSelectWidth',
label: '下拉菜单和选择器同宽',
component: 'Checkbox',
- includes: ['Select', 'TreeSelect', 'AutoComplete'],
+ includes: ['Select', 'ApiSelect', 'TreeSelect', 'ApiTreeSelect', 'AutoComplete'],
},
];
@@ -142,10 +146,12 @@ export const baseComponentCommonAttrs: Omit[] = [
'Input',
'InputTextArea',
'Select',
+ 'ApiSelect',
'DatePicker',
'MonthPicker',
'TimePicker',
'TreeSelect',
+ 'ApiTreeSelect',
'Cascader',
],
},
@@ -177,7 +183,7 @@ export const baseComponentCommonAttrs: Omit[] = [
},
],
},
- includes: ['Select', 'AutoComplete'],
+ includes: ['Select', 'ApiSelect', 'AutoComplete'],
},
];