提交 38f50726 编写于 作者: V Vben

fix(form): remove field binding when deleting schema #471

上级 b92b8a3c
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
- 修复黑暗主题刷新闪烁的白屏 - 修复黑暗主题刷新闪烁的白屏
- 修复标签页关闭其他功能失效问题 - 修复标签页关闭其他功能失效问题
- 修复表单已知问题
## 2.3.0 (2021-04-10) ## 2.3.0 (2021-04-10)
......
...@@ -16,7 +16,7 @@ import { configThemePlugin } from './theme'; ...@@ -16,7 +16,7 @@ import { configThemePlugin } from './theme';
import { configImageminPlugin } from './imagemin'; import { configImageminPlugin } from './imagemin';
import { configWindiCssPlugin } from './windicss'; import { configWindiCssPlugin } from './windicss';
import { configSvgIconsPlugin } from './svgSprite'; import { configSvgIconsPlugin } from './svgSprite';
// import { configHmrPlugin } from './hmr'; import { configHmrPlugin } from './hmr';
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
const { const {
...@@ -35,7 +35,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) { ...@@ -35,7 +35,7 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
]; ];
// TODO // TODO
// !isBuild && vitePlugins.push(configHmrPlugin()); !isBuild && vitePlugins.push(configHmrPlugin());
// @vitejs/plugin-legacy // @vitejs/plugin-legacy
VITE_LEGACY && isBuild && vitePlugins.push(legacy()); VITE_LEGACY && isBuild && vitePlugins.push(legacy());
......
...@@ -77,8 +77,7 @@ export function useForm(props?: Props): UseFormReturnType { ...@@ -77,8 +77,7 @@ export function useForm(props?: Props): UseFormReturnType {
}, },
removeSchemaByFiled: async (field: string | string[]) => { removeSchemaByFiled: async (field: string | string[]) => {
const form = await getForm(); unref(formRef)?.removeSchemaByFiled(field);
form.removeSchemaByFiled(field);
}, },
// TODO promisify // TODO promisify
......
...@@ -88,7 +88,9 @@ export function useFormEvents({ ...@@ -88,7 +88,9 @@ export function useFormEvents({
*/ */
async function removeSchemaByFiled(fields: string | string[]): Promise<void> { async function removeSchemaByFiled(fields: string | string[]): Promise<void> {
const schemaList: FormSchema[] = cloneDeep(unref(getSchema)); const schemaList: FormSchema[] = cloneDeep(unref(getSchema));
if (!fields) return; if (!fields) {
return;
}
let fieldList: string[] = isString(fields) ? [fields] : fields; let fieldList: string[] = isString(fields) ? [fields] : fields;
if (isString(fields)) { if (isString(fields)) {
...@@ -107,6 +109,7 @@ export function useFormEvents({ ...@@ -107,6 +109,7 @@ export function useFormEvents({
if (isString(field)) { if (isString(field)) {
const index = schemaList.findIndex((schema) => schema.field === field); const index = schemaList.findIndex((schema) => schema.field === field);
if (index !== -1) { if (index !== -1) {
delete formModel[field];
schemaList.splice(index, 1); schemaList.splice(index, 1);
} }
} }
......
### `Icon.vue`
```html
<Icon icon="mdi:account" />
```
The icon id follows the rules in [Iconify](https://iconify.design/) which you can use any icons from the supported icon sets.
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册