Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
1db72c8f
提交
1db72c8f
authored
11月 05, 2020
作者:
vben
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: fix form validate error
上级
db0bfc88
隐藏空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
60 行增加
和
31 行删除
+60
-31
CHANGELOG.en_US.md
CHANGELOG.en_US.md
+25
-0
CHANGELOG.zh_CN.md
CHANGELOG.zh_CN.md
+2
-1
BasicForm.vue
src/components/Form/src/BasicForm.vue
+11
-14
FormItem.tsx
src/components/Form/src/FormItem.tsx
+12
-7
useFormAction.ts
src/components/Form/src/hooks/useFormAction.ts
+10
-9
没有找到文件。
CHANGELOG.en_US.md
浏览文件 @
1db72c8f
## Wip
### ⚡ Performance Improvements
-
Menu performance continues to be optimized and smoother
-
Optimize lazy loading components and examples
### 🎫 Chores
-
Delete menu background image
-
Update the version of ʻant-design-vue
`to`
beta13
`
- Update `
vite
` version to `
rc.9
`
- Exception page adjustment
- `
BasicTitle
` Color blocks are not displayed by default
### 🐛 Bug Fixes
- Fix table type problem after upgrade
- Fix the problem that the last submenu continues to be displayed when the menu is divided and there is no data in the left menu
- Fix the issue of ʻuseMessage`
type
-
Fix the problem that the form item setting
`disabled`
does not take effect
-
Fix that ʻuseECharts
`can't adapt when`
resize
`, and an error is reported
- Fix that `
resize
` is not deleted after ʻuseWatermark`
is cleared
-
Fix form verification problem
## 2.0.0-rc.8 (2020-11-2)
### ✨ Features
...
...
CHANGELOG.zh_CN.md
浏览文件 @
1db72c8f
...
...
@@ -11,7 +11,7 @@
-
更新
`ant-design-vue`
版本为
`beta13`
-
更新
`vite`
版本为
`rc.9`
-
异常页调整
-
`BasicTitle`
Color blocks are not displayed by default
-
`BasicTitle`
色块默认不显示
### 🐛 Bug Fixes
...
...
@@ -21,6 +21,7 @@
-
修复表单项设置
`disabled`
不生效问题
-
修复
`useECharts`
在
`resize`
时不能自适应,报错
-
修复
`useWatermark`
在清空后
`resize`
未删除
-
修复表单校验问题
## 2.0.0-rc.8 (2020-11-2)
...
...
src/components/Form/src/BasicForm.vue
浏览文件 @
1db72c8f
...
...
@@ -28,16 +28,7 @@
import
type
{
Ref
}
from
'vue'
;
import
type
{
ValidateFields
}
from
'ant-design-vue/lib/form/interface'
;
import
{
defineComponent
,
reactive
,
ref
,
computed
,
unref
,
toRef
,
onMounted
,
watchEffect
,
}
from
'vue'
;
import
{
defineComponent
,
reactive
,
ref
,
computed
,
unref
,
toRef
,
onMounted
,
watch
}
from
'vue'
;
import
{
Form
,
Row
}
from
'ant-design-vue'
;
import
FormItem
from
'./FormItem'
;
import
{
basicProps
}
from
'./props'
;
...
...
@@ -153,10 +144,16 @@
actionState
,
});
watchEffect
(()
=>
{
if
(
!
unref
(
getMergePropsRef
).
model
)
return
;
setFieldsValue
(
unref
(
getMergePropsRef
).
model
);
});
watch
(
()
=>
unref
(
getMergePropsRef
).
model
,
()
=>
{
if
(
!
unref
(
getMergePropsRef
).
model
)
return
;
setFieldsValue
(
unref
(
getMergePropsRef
).
model
);
},
{
immediate
:
true
,
}
);
/**
* @description:设置表单
...
...
src/components/Form/src/FormItem.tsx
浏览文件 @
1db72c8f
...
...
@@ -14,6 +14,8 @@ import { createPlaceholderMessage } from './helper';
import
{
upperFirst
,
cloneDeep
}
from
'lodash-es'
;
import
{
useItemLabelWidth
}
from
'./hooks/useLabelWidth'
;
import
{
ComponentType
}
from
'./types'
;
import
{
isNumber
}
from
'../../../utils/is'
;
export
default
defineComponent
({
name
:
'BasicFormItem'
,
...
...
@@ -145,6 +147,14 @@ export default defineComponent({
return
rules
;
}
function
handleValue
(
component
:
ComponentType
,
field
:
string
)
{
const
val
=
(
props
.
formModel
as
any
)[
field
];
if
([
'Input'
,
'InputPassword'
,
'InputSearch'
,
'InputTextArea'
].
includes
(
component
))
{
return
isNumber
(
val
)
&&
val
?
`
${
val
}
`
:
val
;
}
return
val
;
}
function
renderComponent
()
{
const
{
componentProps
,
...
...
@@ -162,11 +172,7 @@ export default defineComponent({
if
(
propsData
[
eventKey
])
{
propsData
[
eventKey
](
e
);
}
if
(
e
&&
e
.
target
)
{
(
props
.
formModel
as
any
)[
field
]
=
e
.
target
.
value
;
}
else
{
(
props
.
formModel
as
any
)[
field
]
=
e
;
}
(
props
.
formModel
as
any
)[
field
]
=
e
&&
e
.
target
?
e
.
target
.
value
:
e
;
},
};
const
Comp
=
componentMap
.
get
(
component
);
...
...
@@ -190,9 +196,8 @@ export default defineComponent({
propsData
.
placeholder
=
placeholder
;
propsData
.
codeField
=
field
;
propsData
.
formValues
=
unref
(
getValuesRef
);
const
bindValue
=
{
[
isCheck
?
'checked'
:
'value'
]:
(
props
.
formModel
as
any
)[
field
]
,
[
isCheck
?
'checked'
:
'value'
]:
handleValue
(
component
,
field
)
,
};
if
(
!
renderComponentContent
)
{
return
<
Comp
{
...
propsData
}
{
...
on
}
{
...
bindValue
}
/>;
...
...
src/components/Form/src/hooks/useFormAction.ts
浏览文件 @
1db72c8f
...
...
@@ -43,8 +43,6 @@ export function useFormAction({
Object
.
keys
(
formModel
).
forEach
((
key
)
=>
{
(
formModel
as
any
)[
key
]
=
defaultValueRef
.
value
[
key
];
});
// @ts-ignore
// TODO 官方组件库类型定义错误,可以不传参数
formEl
.
clearValidate
();
emit
(
'reset'
,
toRaw
(
formModel
));
// return values;
...
...
@@ -58,10 +56,12 @@ export function useFormAction({
const
fields
=
unref
(
getSchema
)
.
map
((
item
)
=>
item
.
field
)
.
filter
(
Boolean
);
const
formEl
=
unref
(
formElRef
);
// const formEl = unref(formElRef);
const
validKeys
:
string
[]
=
[];
Object
.
keys
(
values
).
forEach
((
key
)
=>
{
const
element
=
values
[
key
];
if
(
fields
.
includes
(
key
)
&&
element
!==
undefined
&&
element
!==
null
)
{
if
(
element
!==
undefined
&&
element
!==
null
&&
fields
.
includes
(
key
)
)
{
// 时间
if
(
itemIsDateType
(
key
))
{
if
(
Array
.
isArray
(
element
))
{
...
...
@@ -76,11 +76,12 @@ export function useFormAction({
}
else
{
(
formModel
as
any
)[
key
]
=
element
;
}
if
(
formEl
)
{
formEl
.
validateFields
([
key
]);
}
validKeys
.
push
(
key
);
}
});
// if (formEl) {
// formEl.validateFields(validKeys);
// }
}
/**
* @description: 根据字段名删除
...
...
@@ -151,8 +152,8 @@ export function useFormAction({
updateData
.
forEach
((
item
)
=>
{
unref
(
getSchema
).
forEach
((
val
)
=>
{
if
(
val
.
field
===
item
.
field
)
{
const
newSche
am
=
deepMerge
(
val
,
item
);
schema
.
push
(
newSche
am
as
FormSchema
);
const
newSche
ma
=
deepMerge
(
val
,
item
);
schema
.
push
(
newSche
ma
as
FormSchema
);
}
else
{
schema
.
push
(
val
);
}
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论