Browse Source

fix(form): 退回前一个版本,解决onChange多次提交.

pull/772/head
cKey 3 years ago
parent
commit
3cfccf6fe9
  1. 18
      apps/vue/src/components/Form/src/hooks/useFormEvents.ts
  2. 2
      apps/vue/src/views/localization/texts/components/TextModal.vue

18
apps/vue/src/components/Form/src/hooks/useFormEvents.ts

@ -77,11 +77,6 @@ export function useFormEvents({
const hasKey = Reflect.has(values, key); const hasKey = Reflect.has(values, key);
value = handleInputNumberValue(schema?.component, value); value = handleInputNumberValue(schema?.component, value);
const { componentProps } = schema || {};
let _props = componentProps as any;
if (typeof componentProps === 'function') {
_props = _props({ formModel: unref(formModel) });
}
// 0| '' is allow // 0| '' is allow
if (hasKey && fields.includes(key)) { if (hasKey && fields.includes(key)) {
// time type // time type
@ -91,20 +86,17 @@ export function useFormEvents({
for (const ele of value) { for (const ele of value) {
arr.push(ele ? dateUtil(ele) : null); arr.push(ele ? dateUtil(ele) : null);
} }
unref(formModel)[key] = arr; formModel[key] = arr;
} else { } else {
const { componentProps } = schema || {}; const { componentProps } = schema || {};
let _props = componentProps as any; let _props = componentProps as any;
if (typeof componentProps === 'function') { if (typeof componentProps === 'function') {
_props = _props({ formModel }); _props = _props({ formModel });
} }
unref(formModel)[key] = value ? (_props?.valueFormat ? value : dateUtil(value)) : null; formModel[key] = value ? (_props?.valueFormat ? value : dateUtil(value)) : null;
} }
} else { } else {
unref(formModel)[key] = value; formModel[key] = value;
}
if (_props?.onChange) {
_props?.onChange(value);
} }
validKeys.push(key); validKeys.push(key);
} else { } else {
@ -112,14 +104,14 @@ export function useFormEvents({
try { try {
const value = nestKey.split('.').reduce((out, item) => out[item], values); const value = nestKey.split('.').reduce((out, item) => out[item], values);
if (isDef(value)) { if (isDef(value)) {
unref(formModel)[nestKey] = unref(value); formModel[nestKey] = value;
validKeys.push(nestKey); validKeys.push(nestKey);
} }
} catch (e) { } catch (e) {
// key not exist // key not exist
if (isDef(defaultValueRef.value[nestKey])) { if (isDef(defaultValueRef.value[nestKey])) {
//formModel[nestKey] = defaultValueRef.value[nestKey]; //formModel[nestKey] = defaultValueRef.value[nestKey];
unref(formModel)[nestKey] = cloneDeep(unref(defaultValueRef.value[nestKey])); formModel[nestKey] = cloneDeep(defaultValueRef.value[nestKey]);
} }
} }
}); });

2
apps/vue/src/views/localization/texts/components/TextModal.vue

@ -47,7 +47,7 @@
resultField: 'items', resultField: 'items',
labelField: 'uiCultureName', labelField: 'uiCultureName',
valueField: 'cultureName', valueField: 'cultureName',
onSelect: (key) => { onChange: (key) => {
// //
const model = unref(modelRef); const model = unref(modelRef);
if (model?.key) { if (model?.key) {

Loading…
Cancel
Save