Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
啊嘞嘞EC
vue-vben-admin
提交
3c4de9b0
V
vue-vben-admin
项目概览
啊嘞嘞EC
/
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,发现更多精彩内容 >>
提交
3c4de9b0
编写于
3月 17, 2021
作者:
V
Vben
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix(input-count): make sure the reset function works close #381
上级
e49072c3
变更
9
隐藏空白更改
内联
并排
Showing
9 changed file
with
45 addition
and
27 deletion
+45
-27
CHANGELOG.zh_CN.md
CHANGELOG.zh_CN.md
+4
-0
src/components/CountDown/src/CountButton.vue
src/components/CountDown/src/CountButton.vue
+9
-6
src/components/CountDown/src/CountdownInput.vue
src/components/CountDown/src/CountdownInput.vue
+3
-2
src/components/CountDown/src/useCountdown.ts
src/components/CountDown/src/useCountdown.ts
+1
-1
src/components/Form/src/componentMap.ts
src/components/Form/src/componentMap.ts
+2
-0
src/hooks/component/useFormItem.ts
src/hooks/component/useFormItem.ts
+1
-0
src/views/demo/form/RuleForm.vue
src/views/demo/form/RuleForm.vue
+21
-9
src/views/demo/table/FetchTable.vue
src/views/demo/table/FetchTable.vue
+0
-3
src/views/sys/login/ForgetPasswordForm.vue
src/views/sys/login/ForgetPasswordForm.vue
+4
-6
未找到文件。
CHANGELOG.zh_CN.md
浏览文件 @
3c4de9b0
...
...
@@ -4,6 +4,10 @@
-
重构路由多层模式,解决嵌套 keepalive 执行多次问题
### 🐛 Bug Fixes
-
确保 CountDownInput 组件重置清空值
## 2.1.0 (2021-03-15)
### ✨ Features
...
...
src/components/CountDown/src/CountButton.vue
浏览文件 @
3c4de9b0
...
...
@@ -8,22 +8,21 @@
</Button>
</
template
>
<
script
lang=
"ts"
>
import
{
defineComponent
,
ref
,
PropType
}
from
'
vue
'
;
import
{
defineComponent
,
ref
,
PropType
,
watchEffect
}
from
'
vue
'
;
import
{
Button
}
from
'
ant-design-vue
'
;
import
{
useCountdown
}
from
'
./useCountdown
'
;
import
{
isFunction
}
from
'
/@/utils/is
'
;
import
{
useI18n
}
from
'
/@/hooks/web/useI18n
'
;
import
{
propTypes
}
from
'
/@/utils/propTypes
'
;
export
default
defineComponent
({
name
:
'
CountButton
'
,
components
:
{
Button
},
props
:
{
count
:
{
type
:
Number
,
default
:
60
,
},
value
:
propTypes
.
string
,
count
:
propTypes
.
number
.
def
(
60
),
beforeStartFunc
:
{
type
:
Function
as
PropType
<
()
=>
boolean
>
,
default
:
null
,
...
...
@@ -32,8 +31,12 @@
setup
(
props
)
{
const
loading
=
ref
(
false
);
const
{
currentCount
,
isStart
,
start
}
=
useCountdown
(
props
.
count
);
const
{
currentCount
,
isStart
,
start
,
reset
}
=
useCountdown
(
props
.
count
);
const
{
t
}
=
useI18n
();
watchEffect
(()
=>
{
props
.
value
===
undefined
&&
reset
();
});
/**
* @description: Judge whether there is an external function before execution, and decide whether to start after execution
*/
...
...
src/components/CountDown/src/CountdownInput.vue
浏览文件 @
3c4de9b0
<
template
>
<AInput
v-bind=
"$attrs"
:class=
"prefixCls"
:size=
"size"
>
<AInput
v-bind=
"$attrs"
:class=
"prefixCls"
:size=
"size"
:value=
"state"
>
<template
#addonAfter
>
<CountButton
:size=
"size"
:count=
"count"
:beforeStartFunc=
"sendCodeApi"
/>
<CountButton
:size=
"size"
:count=
"count"
:
value=
"state"
:
beforeStartFunc=
"sendCodeApi"
/>
</
template
>
</AInput>
</template>
...
...
@@ -18,6 +18,7 @@
export
default
defineComponent
({
name
:
'
CountDownInput
'
,
inheritAttrs
:
false
,
components
:
{
[
Input
.
name
]:
Input
,
CountButton
},
props
:
{
value
:
propTypes
.
string
,
...
...
src/components/CountDown/src/useCountdown.ts
浏览文件 @
3c4de9b0
...
...
@@ -14,8 +14,8 @@ export function useCountdown(count: number) {
function
stop
()
{
isStart
.
value
=
false
;
timerId
=
null
;
clear
();
timerId
=
null
;
}
function
start
()
{
...
...
src/components/Form/src/componentMap.ts
浏览文件 @
3c4de9b0
...
...
@@ -23,6 +23,7 @@ import ApiSelect from './components/ApiSelect.vue';
import
{
BasicUpload
}
from
'
/@/components/Upload
'
;
import
{
StrengthMeter
}
from
'
/@/components/StrengthMeter
'
;
import
{
IconPicker
}
from
'
/@/components/Icon
'
;
import
{
CountdownInput
}
from
'
/@/components/CountDown
'
;
const
componentMap
=
new
Map
<
ComponentType
,
Component
>
();
...
...
@@ -51,6 +52,7 @@ componentMap.set('WeekPicker', DatePicker.WeekPicker);
componentMap
.
set
(
'
TimePicker
'
,
TimePicker
);
componentMap
.
set
(
'
StrengthMeter
'
,
StrengthMeter
);
componentMap
.
set
(
'
IconPicker
'
,
IconPicker
);
componentMap
.
set
(
'
InputCountDown
'
,
CountdownInput
);
componentMap
.
set
(
'
Upload
'
,
BasicUpload
);
...
...
src/hooks/component/useFormItem.ts
浏览文件 @
3c4de9b0
...
...
@@ -31,6 +31,7 @@ export function useRuleFormItem<T extends Indexable>(
},
set
(
value
)
{
if
(
isEqual
(
value
,
defaultState
.
value
))
return
;
innerState
.
value
=
value
as
T
[
keyof
T
];
emit
?.(
changeEvent
,
value
);
},
...
...
src/views/demo/form/RuleForm.vue
浏览文件 @
3c4de9b0
...
...
@@ -5,6 +5,7 @@
<a-button
@
click=
"resetValidate"
class=
"mr-2"
>
清空校验信息
</a-button>
<a-button
@
click=
"getFormValues"
class=
"mr-2"
>
获取表单值
</a-button>
<a-button
@
click=
"setFormValues"
class=
"mr-2"
>
设置表单值
</a-button>
<a-button
@
click=
"resetFields"
class=
"mr-2"
>
重置
</a-button>
</div>
<CollapseContainer
title=
"表单校验"
>
<BasicForm
@
register=
"register"
@
submit=
"handleSubmit"
/>
...
...
@@ -46,6 +47,15 @@
},
required
:
true
,
},
{
field
:
'
field44
'
,
component
:
'
InputCountDown
'
,
label
:
'
验证码
'
,
colProps
:
{
span
:
8
,
},
required
:
true
,
},
{
field
:
'
field4
'
,
component
:
'
Select
'
,
...
...
@@ -150,15 +160,16 @@
components
:
{
BasicForm
,
CollapseContainer
,
PageWrapper
},
setup
()
{
const
{
createMessage
}
=
useMessage
();
const
[
register
,
{
validateFields
,
clearValidate
,
getFieldsValue
,
setFieldsValue
}]
=
useForm
(
{
labelWidth
:
120
,
schemas
,
actionColOptions
:
{
span
:
24
,
},
}
);
const
[
register
,
{
validateFields
,
clearValidate
,
getFieldsValue
,
resetFields
,
setFieldsValue
},
]
=
useForm
({
labelWidth
:
120
,
schemas
,
actionColOptions
:
{
span
:
24
,
},
});
async
function
validateForm
()
{
try
{
const
res
=
await
validateFields
();
...
...
@@ -191,6 +202,7 @@
setFormValues
,
validateForm
,
resetValidate
,
resetFields
,
};
},
});
...
...
src/views/demo/table/FetchTable.vue
浏览文件 @
3c4de9b0
...
...
@@ -24,9 +24,6 @@
});
function
handleReloadCurrent
()
{
reload
();
// reload({
// searchInfo: 'xxx',
// });
}
function
handleReload
()
{
...
...
src/views/sys/login/ForgetPasswordForm.vue
浏览文件 @
3c4de9b0
...
...
@@ -40,7 +40,7 @@
import
{
CountdownInput
}
from
'
/@/components/CountDown
'
;
import
{
useI18n
}
from
'
/@/hooks/web/useI18n
'
;
import
{
useLoginState
,
useFormRules
,
useFormValid
,
LoginStateEnum
}
from
'
./useLogin
'
;
import
{
useLoginState
,
useFormRules
,
LoginStateEnum
}
from
'
./useLogin
'
;
export
default
defineComponent
({
name
:
'
ForgetPasswordForm
'
,
...
...
@@ -66,14 +66,12 @@
sms
:
''
,
});
const
{
validForm
}
=
useFormValid
(
formRef
);
const
getShow
=
computed
(()
=>
unref
(
getLoginState
)
===
LoginStateEnum
.
RESET_PASSWORD
);
async
function
handleReset
()
{
const
data
=
await
validForm
(
);
if
(
!
data
)
return
;
console
.
log
(
data
);
const
form
=
unref
(
formRef
);
if
(
!
form
)
return
;
await
form
.
resetFields
(
);
}
return
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录