diff --git a/CHANGELOG.zh_CN.md b/CHANGELOG.zh_CN.md
index ffd8df85320a9b7d832b0eb05a21efd8618cd54b..0d310a69292509b1e2ac704a549464ef759de750 100644
--- a/CHANGELOG.zh_CN.md
+++ b/CHANGELOG.zh_CN.md
@@ -8,6 +8,7 @@
### 🎫 Chores
- 删除代码内的可选链语法
+- 表单重置逻辑修改
### 🐛 Bug Fixes
diff --git a/src/components/Form/src/BasicForm.vue b/src/components/Form/src/BasicForm.vue
index 209e272a47c806e2dfb5f3db6a7cfca4ad968ba4..3d8dfbd3869520ef75480e2f69d18e8af882de79 100644
--- a/src/components/Form/src/BasicForm.vue
+++ b/src/components/Form/src/BasicForm.vue
@@ -194,7 +194,7 @@
model: formModel,
field: schema.field,
values: {
- ...unerf(defaultValueRef),
+ ...unref(defaultValueRef),
...formModel,
},
});
@@ -271,11 +271,11 @@
const formEl = unref(formElRef);
if (!formEl) return;
Object.keys(formModel).forEach((key) => {
- (formModel as any)[key] = undefined;
+ (formModel as any)[key] = defaultValueRef.value[key];
});
- const values = formEl.resetFields();
+ // const values = formEl.resetFields();
emit('reset', toRaw(formModel));
- return values;
+ // return values;
}
/**
diff --git a/src/components/Form/src/FormItem.tsx b/src/components/Form/src/FormItem.tsx
index 2f6bff2af9b200b5180bdd102b6a38f8c1bf961d..688d1658e3cf2c7ef4aa44504690a4c1bf9391aa 100644
--- a/src/components/Form/src/FormItem.tsx
+++ b/src/components/Form/src/FormItem.tsx
@@ -139,6 +139,7 @@ export default defineComponent({
}
return rules;
}
+
function renderComponent() {
const {
componentProps,
@@ -163,7 +164,6 @@ export default defineComponent({
}
},
};
-
const Comp = componentMap.get(component);
const { autoSetPlaceHolder, size } = props.formProps;
@@ -189,9 +189,22 @@ export default defineComponent({
const bindValue = {
[isCheck ? 'checked' : 'value']: (props.formModel as any)[field],
};
+ // TODO先兼容antd的警告,后面官方修复后删除
+ if (component === 'Select') {
+ if (Reflect.has(propsData, 'options')) {
+ propsData.options = propsData.options.map((item: any) => {
+ return {
+ key: item.value,
+ ...item,
+ };
+ });
+ }
+ }
+
if (!renderComponentContent) {
return ;
}
+
return (
{{
diff --git a/src/layouts/default/multitabs/index.tsx b/src/layouts/default/multitabs/index.tsx
index b8434f728f4adf5e7ac3e43847371b628adcc499..9cceb7e31958db6aa72ead6f6b6e01fdcc587556 100644
--- a/src/layouts/default/multitabs/index.tsx
+++ b/src/layouts/default/multitabs/index.tsx
@@ -8,7 +8,7 @@ import {
computed,
// ref,
unref,
- onMounted,
+ // onMounted,
toRaw,
} from 'vue';
import { Tabs } from 'ant-design-vue';
@@ -24,7 +24,7 @@ import { tabStore } from '/@/store/modules/tab';
import { closeTab } from './useTabDropdown';
import router from '/@/router';
import { useTabs } from '/@/hooks/web/useTabs';
-import { PageEnum } from '/@/enums/pageEnum';
+// import { PageEnum } from '/@/enums/pageEnum';
import './index.less';
export default defineComponent({
@@ -33,14 +33,17 @@ export default defineComponent({
let isAddAffix = false;
const go = useGo();
const { currentRoute } = useRouter();
- const { addTab, activeKeyRef } = useTabs();
- onMounted(() => {
- const route = unref(currentRoute);
- addTab(unref(currentRoute).path as PageEnum, false, {
- query: route.query,
- params: route.params,
- });
- });
+ const {
+ // addTab,
+ activeKeyRef,
+ } = useTabs();
+ // onMounted(() => {
+ // const route = unref(currentRoute);
+ // addTab(unref(currentRoute).path as PageEnum, false, {
+ // query: route.query,
+ // params: route.params,
+ // });
+ // });
// 当前激活tab
// const activeKeyRef = ref('');
@@ -64,14 +67,14 @@ export default defineComponent({
// 监听路由的话虽然可以,但是路由切换的时间会造成卡顿现象?
// 使用useTab的addTab的话,当用户手动调转,需要自行调用addTab
// tabStore.commitAddTab((unref(currentRoute) as unknown) as AppRouteRecordRaw);
- // const { affix } = currentRoute.value.meta || {};
- // if (affix) return;
- // const hasInTab = tabStore.getTabsState.some(
- // (item) => item.fullPath === currentRoute.value.fullPath
- // );
- // if (!hasInTab) {
- // tabStore.commitAddTab((unref(currentRoute) as unknown) as AppRouteRecordRaw);
- // }
+ const { affix } = currentRoute.value.meta || {};
+ if (affix) return;
+ const hasInTab = tabStore.getTabsState.some(
+ (item) => item.fullPath === currentRoute.value.fullPath
+ );
+ if (!hasInTab) {
+ tabStore.commitAddTab((unref(currentRoute) as unknown) as AppRouteRecordRaw);
+ }
},
{
immediate: true,
diff --git a/src/views/demo/table/tableData.tsx b/src/views/demo/table/tableData.tsx
index 64c81b46489855731c3a0efa45df7fdb93fb03b1..5e8ceeeeba427e6fd2af7f3ad39b809994a0f1ba 100644
--- a/src/views/demo/table/tableData.tsx
+++ b/src/views/demo/table/tableData.tsx
@@ -239,12 +239,10 @@ export function getFormConfig(): Partial {
{
label: '选项1',
value: '1',
- key: '1',
},
{
label: '选项2',
value: '2',
- key: '2',
},
],
},