Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
aaa30fbf
Unverified
提交
aaa30fbf
authored
3月 19, 2022
作者:
lzdjack
提交者:
GitHub
3月 19, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(form): appendSchemaByField和updateSchema支持defaultValue (#1608)
1. 兼容appendSchemaByField和updateSchema支持设置默认值
上级
9092c34c
隐藏空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
29 行增加
和
1 行删除
+29
-1
useFormEvents.ts
src/components/Form/src/hooks/useFormEvents.ts
+29
-1
没有找到文件。
src/components/Form/src/hooks/useFormEvents.ts
浏览文件 @
aaa30fbf
...
...
@@ -2,7 +2,7 @@ import type { ComputedRef, Ref } from 'vue';
import
type
{
FormProps
,
FormSchema
,
FormActionType
}
from
'../types/form'
;
import
type
{
NamePath
}
from
'ant-design-vue/lib/form/interface'
;
import
{
unref
,
toRaw
,
nextTick
}
from
'vue'
;
import
{
isArray
,
isFunction
,
isObject
,
isString
}
from
'/@/utils/is'
;
import
{
isArray
,
isFunction
,
is
NullOrUnDef
,
is
Object
,
isString
}
from
'/@/utils/is'
;
import
{
deepMerge
}
from
'/@/utils'
;
import
{
dateItemType
,
handleInputNumberValue
,
defaultValueComponents
}
from
'../helper'
;
import
{
dateUtil
}
from
'/@/utils/dateUtil'
;
...
...
@@ -132,11 +132,14 @@ export function useFormEvents({
if
(
!
prefixField
||
index
===
-
1
||
first
)
{
first
?
schemaList
.
unshift
(
schema
)
:
schemaList
.
push
(
schema
);
schemaRef
.
value
=
schemaList
;
_setDefaultValue
(
schema
);
return
;
}
if
(
index
!==
-
1
)
{
schemaList
.
splice
(
index
+
1
,
0
,
schema
);
}
_setDefaultValue
(
schema
);
schemaRef
.
value
=
schemaList
;
}
...
...
@@ -192,9 +195,34 @@ export function useFormEvents({
}
});
});
_setDefaultValue
(
schema
);
schemaRef
.
value
=
uniqBy
(
schema
,
'field'
);
}
function
_setDefaultValue
(
data
:
FormSchema
|
FormSchema
[])
{
let
schemas
:
FormSchema
[]
=
[];
if
(
isObject
(
data
))
{
schemas
.
push
(
data
as
FormSchema
);
}
if
(
isArray
(
data
))
{
schemas
=
[...
data
];
}
const
obj
:
Recordable
=
{};
schemas
.
forEach
((
item
)
=>
{
if
(
item
.
component
!=
'Divider'
&&
Reflect
.
has
(
item
,
'field'
)
&&
item
.
field
&&
!
isNullOrUnDef
(
item
.
defaultValue
)
)
{
obj
[
item
.
field
]
=
item
.
defaultValue
;
}
});
setFieldsValue
(
obj
);
}
function
getFieldsValue
():
Recordable
{
const
formEl
=
unref
(
formElRef
);
if
(
!
formEl
)
return
{};
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论