mirror of
https://github.com/cool-team-official/cool-admin-vue.git
synced 2025-12-13 06:02:49 +00:00
优化
This commit is contained in:
parent
cf1a0dd90d
commit
51076ddac4
@ -1,8 +1,8 @@
|
|||||||
import { defineComponent, h, nextTick } from "vue";
|
import { defineComponent, h, nextTick } from "vue";
|
||||||
import { cloneDeep, isBoolean, isEmpty, merge } from "lodash-es";
|
import { cloneDeep, isBoolean, isEmpty } from "lodash-es";
|
||||||
import { useAction, useForm, usePlugins, useTabs } from "./helper";
|
import { useAction, useForm, usePlugins, useTabs } from "./helper";
|
||||||
import { useBrowser, useConfig, useElApi } from "../../hooks";
|
import { useBrowser, useConfig, useElApi, useRefs } from "../../hooks";
|
||||||
import { getValue } from "../../utils";
|
import { getValue, merge } from "../../utils";
|
||||||
import formHook from "../../utils/form-hook";
|
import formHook from "../../utils/form-hook";
|
||||||
import { renderNode } from "../../utils/vnode";
|
import { renderNode } from "../../utils/vnode";
|
||||||
import { parseFormHidden } from "../../utils/parse";
|
import { parseFormHidden } from "../../utils/parse";
|
||||||
@ -16,6 +16,7 @@ export default defineComponent({
|
|||||||
},
|
},
|
||||||
|
|
||||||
setup(props, { expose, slots }) {
|
setup(props, { expose, slots }) {
|
||||||
|
const { refs, setRefs } = useRefs();
|
||||||
const { style, dict } = useConfig();
|
const { style, dict } = useConfig();
|
||||||
const browser = useBrowser();
|
const browser = useBrowser();
|
||||||
const { Form, config, form, visible, saving, loading, disabled } = useForm();
|
const { Form, config, form, visible, saving, loading, disabled } = useForm();
|
||||||
@ -184,10 +185,11 @@ export default defineComponent({
|
|||||||
const keys = Object.keys(error);
|
const keys = Object.keys(error);
|
||||||
|
|
||||||
if (Tabs.active.value) {
|
if (Tabs.active.value) {
|
||||||
const item = config.items.find((e) => e.prop === keys[0]);
|
const el = refs.form.querySelector(`[data-prop="${keys[0]}"]`);
|
||||||
|
|
||||||
if (item) {
|
if (el) {
|
||||||
Tabs.set(item.group);
|
const group = el.getAttribute("data-group");
|
||||||
|
Tabs.set(group);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -352,6 +354,8 @@ export default defineComponent({
|
|||||||
"no-label": !(e.renderLabel || e.label),
|
"no-label": !(e.renderLabel || e.label),
|
||||||
"has-children": !!e.children
|
"has-children": !!e.children
|
||||||
}}
|
}}
|
||||||
|
data-group={e.group}
|
||||||
|
data-prop={e.prop}
|
||||||
label-width={props.inline ? "auto" : ""}
|
label-width={props.inline ? "auto" : ""}
|
||||||
label={e.label}
|
label={e.label}
|
||||||
prop={e.prop}
|
prop={e.prop}
|
||||||
@ -454,7 +458,7 @@ export default defineComponent({
|
|||||||
const children = config.items.map(renderFormItem);
|
const children = config.items.map(renderFormItem);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div class="cl-form__container">
|
<div class="cl-form__container" ref={setRefs("form")}>
|
||||||
{h(
|
{h(
|
||||||
<el-form
|
<el-form
|
||||||
ref={Form}
|
ref={Form}
|
||||||
@ -589,15 +593,15 @@ export default defineComponent({
|
|||||||
});
|
});
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
const Form = (
|
|
||||||
<div class="cl-form">
|
|
||||||
{renderContainer()}
|
|
||||||
{renderFooter()}
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
|
|
||||||
if (props.inner) {
|
if (props.inner) {
|
||||||
return visible.value && Form;
|
return (
|
||||||
|
visible.value && (
|
||||||
|
<div class="cl-form">
|
||||||
|
{renderContainer()}
|
||||||
|
{renderFooter()}
|
||||||
|
</div>
|
||||||
|
)
|
||||||
|
);
|
||||||
} else {
|
} else {
|
||||||
return h(
|
return h(
|
||||||
<cl-dialog v-model={visible.value} class="cl-form" />,
|
<cl-dialog v-model={visible.value} class="cl-form" />,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user