提交 38f50726 作者: 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 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论