Commit 4ddee05dee87c944ba95dca54a754e048b8cfc84
1 parent
abb0cfae
fix(form): fix form inputNumber verification error
Showing
4 changed files
with
19 additions
and
4 deletions
CHANGELOG.zh_CN.md
src/components/Form/src/FormItem.tsx
@@ -122,10 +122,10 @@ export default defineComponent({ | @@ -122,10 +122,10 @@ export default defineComponent({ | ||
122 | } = props.schema; | 122 | } = props.schema; |
123 | 123 | ||
124 | if (isFunction(dynamicRules)) { | 124 | if (isFunction(dynamicRules)) { |
125 | - return dynamicRules(unref(getValuesRef)); | 125 | + return dynamicRules(unref(getValuesRef)) as ValidationRule[]; |
126 | } | 126 | } |
127 | 127 | ||
128 | - let rules: ValidationRule[] = cloneDeep(defRules); | 128 | + let rules: ValidationRule[] = cloneDeep(defRules) as ValidationRule[]; |
129 | 129 | ||
130 | if ((!rules || rules.length === 0) && required) { | 130 | if ((!rules || rules.length === 0) && required) { |
131 | rules = [{ required }]; | 131 | rules = [{ required }]; |
@@ -157,6 +157,9 @@ export default defineComponent({ | @@ -157,6 +157,9 @@ export default defineComponent({ | ||
157 | if (component.includes('RangePicker')) { | 157 | if (component.includes('RangePicker')) { |
158 | rule.type = 'array'; | 158 | rule.type = 'array'; |
159 | } | 159 | } |
160 | + if (component.includes('InputNumber')) { | ||
161 | + rule.type = 'number'; | ||
162 | + } | ||
160 | } | 163 | } |
161 | } | 164 | } |
162 | 165 |
src/hooks/web/useMessage.tsx
1 | import type { ModalFunc, ModalFuncProps } from 'ant-design-vue/lib/modal/Modal'; | 1 | import type { ModalFunc, ModalFuncProps } from 'ant-design-vue/lib/modal/Modal'; |
2 | -import type { MessageApi } from 'ant-design-vue/lib/message'; | ||
3 | 2 | ||
4 | import { Modal, message as Message, notification } from 'ant-design-vue'; | 3 | import { Modal, message as Message, notification } from 'ant-design-vue'; |
5 | import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue'; | 4 | import { InfoCircleFilled, CheckCircleFilled, CloseCircleFilled } from '@ant-design/icons-vue'; |
@@ -100,7 +99,7 @@ notification.config({ | @@ -100,7 +99,7 @@ notification.config({ | ||
100 | */ | 99 | */ |
101 | export function useMessage() { | 100 | export function useMessage() { |
102 | return { | 101 | return { |
103 | - createMessage: Message as MessageApi, | 102 | + createMessage: Message, |
104 | notification: notification as NotifyApi, | 103 | notification: notification as NotifyApi, |
105 | createConfirm: createConfirm, | 104 | createConfirm: createConfirm, |
106 | createSuccessModal, | 105 | createSuccessModal, |
src/views/demo/form/index.vue
@@ -208,6 +208,15 @@ | @@ -208,6 +208,15 @@ | ||
208 | ], | 208 | ], |
209 | }, | 209 | }, |
210 | }, | 210 | }, |
211 | + { | ||
212 | + field: 'field20', | ||
213 | + component: 'InputNumber', | ||
214 | + label: '字段20', | ||
215 | + required: true, | ||
216 | + colProps: { | ||
217 | + span: 8, | ||
218 | + }, | ||
219 | + }, | ||
211 | ]; | 220 | ]; |
212 | 221 | ||
213 | export default defineComponent({ | 222 | export default defineComponent({ |