chore: form reset logic modification
| | |
| | | ### 🎫 Chores |
| | | |
| | | - 删除代码内的可选链语法 |
| | | - 表单重置逻辑修改 |
| | | |
| | | ### 🐛 Bug Fixes |
| | | |
| | |
| | | model: formModel, |
| | | field: schema.field, |
| | | values: { |
| | | ...unerf(defaultValueRef), |
| | | ...unref(defaultValueRef), |
| | | ...formModel, |
| | | }, |
| | | }); |
| | |
| | | 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; |
| | | } |
| | | |
| | | /** |
| | |
| | | } |
| | | return rules; |
| | | } |
| | | |
| | | function renderComponent() { |
| | | const { |
| | | componentProps, |
| | |
| | | } |
| | | }, |
| | | }; |
| | | |
| | | const Comp = componentMap.get(component); |
| | | |
| | | const { autoSetPlaceHolder, size } = props.formProps; |
| | |
| | | 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 <Comp {...propsData} {...on} {...bindValue} />; |
| | | } |
| | | |
| | | return ( |
| | | <Comp {...propsData} {...on} {...bindValue}> |
| | | {{ |
| | |
| | | computed, |
| | | // ref, |
| | | unref, |
| | | onMounted, |
| | | // onMounted, |
| | | toRaw, |
| | | } from 'vue'; |
| | | import { Tabs } from 'ant-design-vue'; |
| | |
| | | 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({ |
| | |
| | | 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<string>(''); |
| | |
| | | // 监听路由的话虽然可以,但是路由切换的时间会造成卡顿现象? |
| | | // 使用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, |
| | |
| | | { |
| | | label: '选项1', |
| | | value: '1', |
| | | key: '1', |
| | | }, |
| | | { |
| | | label: '选项2', |
| | | value: '2', |
| | | key: '2', |
| | | }, |
| | | ], |
| | | }, |