Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
basic-vue-admin
概览
概览
详情
活动
周期分析
版本库
存储库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
Basic
basic-vue-admin
Commits
9b2d41ea
Unverified
提交
9b2d41ea
authored
5月 20, 2021
作者:
Netfan
提交者:
GitHub
5月 20, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat(form): add prop autoSubmitOnEnter (#620)
为Form添加autoSubmitOnEnter属性,当设置为true时,可以在input组件上按下回车时自动提交表单
上级
3bb6d11e
显示空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
31 行增加
和
10 行删除
+31
-10
BasicForm.vue
src/components/Form/src/BasicForm.vue
+23
-9
props.ts
src/components/Form/src/props.ts
+2
-0
form.ts
src/components/Form/src/types/form.ts
+6
-1
没有找到文件。
src/components/Form/src/BasicForm.vue
浏览文件 @
9b2d41ea
<
template
>
<
template
>
<Form
v-bind=
"
{ ...$attrs, ...$props }" :class="getFormClass" ref="formElRef" :model="formModel">
<Form
v-bind=
"
{ ...$attrs, ...$props }"
:class="getFormClass"
ref="formElRef"
:model="formModel"
@keypress.enter="handleEnterPress"
>
<Row
:style=
"getRowWrapStyle"
>
<Row
:style=
"getRowWrapStyle"
>
<slot
name=
"formHeader"
></slot>
<slot
name=
"formHeader"
></slot>
<template
v-for=
"schema in getSchema"
:key=
"schema.field"
>
<template
v-for=
"schema in getSchema"
:key=
"schema.field"
>
...
@@ -81,11 +87,9 @@
...
@@ -81,11 +87,9 @@
const
{
prefixCls
}
=
useDesign
(
'basic-form'
);
const
{
prefixCls
}
=
useDesign
(
'basic-form'
);
// Get the basic configuration of the form
// Get the basic configuration of the form
const
getProps
=
computed
(
const
getProps
=
computed
(():
FormProps
=>
{
():
FormProps
=>
{
return
{
...
props
,
...
unref
(
propsRef
)
}
as
FormProps
;
return
{
...
props
,
...
unref
(
propsRef
)
}
as
FormProps
;
}
});
);
const
getFormClass
=
computed
(()
=>
{
const
getFormClass
=
computed
(()
=>
{
return
[
return
[
...
@@ -97,12 +101,10 @@
...
@@ -97,12 +101,10 @@
});
});
// Get uniform row style
// Get uniform row style
const
getRowWrapStyle
=
computed
(
const
getRowWrapStyle
=
computed
(():
CSSProperties
=>
{
():
CSSProperties
=>
{
const
{
baseRowStyle
=
{}
}
=
unref
(
getProps
);
const
{
baseRowStyle
=
{}
}
=
unref
(
getProps
);
return
baseRowStyle
;
return
baseRowStyle
;
}
});
);
const
getSchema
=
computed
(():
FormSchema
[]
=>
{
const
getSchema
=
computed
(():
FormSchema
[]
=>
{
const
schemas
:
FormSchema
[]
=
unref
(
schemaRef
)
||
(
unref
(
getProps
).
schemas
as
any
);
const
schemas
:
FormSchema
[]
=
unref
(
schemaRef
)
||
(
unref
(
getProps
).
schemas
as
any
);
...
@@ -213,6 +215,17 @@
...
@@ -213,6 +215,17 @@
formModel
[
key
]
=
value
;
formModel
[
key
]
=
value
;
}
}
function
handleEnterPress
(
e
:
KeyboardEvent
)
{
const
{
autoSubmitOnEnter
}
=
unref
(
getProps
);
if
(
!
autoSubmitOnEnter
)
return
;
if
(
e
.
key
===
'Enter'
&&
e
.
target
&&
e
.
target
instanceof
HTMLElement
)
{
const
target
:
HTMLElement
=
e
.
target
as
HTMLElement
;
if
(
target
&&
target
.
tagName
&&
target
.
tagName
.
toUpperCase
()
==
'INPUT'
)
{
handleSubmit
();
}
}
}
const
formActionType
:
Partial
<
FormActionType
>
=
{
const
formActionType
:
Partial
<
FormActionType
>
=
{
getFieldsValue
,
getFieldsValue
,
setFieldsValue
,
setFieldsValue
,
...
@@ -236,6 +249,7 @@
...
@@ -236,6 +249,7 @@
return
{
return
{
handleToggleAdvanced
,
handleToggleAdvanced
,
handleEnterPress
,
formModel
,
formModel
,
defaultValueRef
,
defaultValueRef
,
advanceState
,
advanceState
,
...
...
src/components/Form/src/props.ts
浏览文件 @
9b2d41ea
...
@@ -37,6 +37,8 @@ export const basicProps = {
...
@@ -37,6 +37,8 @@ export const basicProps = {
type
:
Object
as
PropType
<
Partial
<
ColEx
>>
,
type
:
Object
as
PropType
<
Partial
<
ColEx
>>
,
},
},
autoSetPlaceHolder
:
propTypes
.
bool
.
def
(
true
),
autoSetPlaceHolder
:
propTypes
.
bool
.
def
(
true
),
// 在INPUT组件上单击回车时,是否自动提交
autoSubmitOnEnter
:
propTypes
.
bool
.
def
(
false
),
submitOnReset
:
propTypes
.
bool
,
submitOnReset
:
propTypes
.
bool
,
size
:
propTypes
.
oneOf
([
'default'
,
'small'
,
'large'
]).
def
(
'default'
),
size
:
propTypes
.
oneOf
([
'default'
,
'small'
,
'large'
]).
def
(
'default'
),
// 禁用表单
// 禁用表单
...
...
src/components/Form/src/types/form.ts
浏览文件 @
9b2d41ea
...
@@ -83,6 +83,8 @@ export interface FormProps {
...
@@ -83,6 +83,8 @@ export interface FormProps {
fieldMapToTime
?:
FieldMapToTime
;
fieldMapToTime
?:
FieldMapToTime
;
// Placeholder is set automatically
// Placeholder is set automatically
autoSetPlaceHolder
?:
boolean
;
autoSetPlaceHolder
?:
boolean
;
// Auto submit on press enter on input
autoSubmitOnEnter
?:
boolean
;
// Check whether the information is added to the label
// Check whether the information is added to the label
rulesMessageJoinLabel
?:
boolean
;
rulesMessageJoinLabel
?:
boolean
;
// Whether to show collapse and expand buttons
// Whether to show collapse and expand buttons
...
@@ -125,7 +127,10 @@ export interface FormSchema {
...
@@ -125,7 +127,10 @@ export interface FormSchema {
// Auxiliary text
// Auxiliary text
subLabel
?:
string
;
subLabel
?:
string
;
// Help text on the right side of the text
// Help text on the right side of the text
helpMessage
?:
string
|
string
[]
|
((
renderCallbackParams
:
RenderCallbackParams
)
=>
string
|
string
[]);
helpMessage
?:
|
string
|
string
[]
|
((
renderCallbackParams
:
RenderCallbackParams
)
=>
string
|
string
[]);
// BaseHelp component props
// BaseHelp component props
helpComponentProps
?:
Partial
<
HelpComponentProps
>
;
helpComponentProps
?:
Partial
<
HelpComponentProps
>
;
// Label width, if it is passed, the labelCol and WrapperCol configured by itemProps will be invalid
// Label width, if it is passed, the labelCol and WrapperCol configured by itemProps will be invalid
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论