Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Lucky高
vue-vben-admin
提交
aaa30fbf
V
vue-vben-admin
项目概览
Lucky高
/
vue-vben-admin
与 Fork 源项目一致
从无法访问的项目Fork
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
V
vue-vben-admin
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
未验证
提交
aaa30fbf
编写于
3月 19, 2022
作者:
L
lzdjack
提交者:
GitHub
3月 19, 2022
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(form): appendSchemaByField和updateSchema支持defaultValue (#1608)
1. 兼容appendSchemaByField和updateSchema支持设置默认值
上级
9092c34c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
29 addition
and
1 deletion
+29
-1
src/components/Form/src/hooks/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
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录