diff --git a/package.json b/package.json index 17598a6..98081e6 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "lint:eslint": "eslint \"./src/**/*.{vue,ts,tsx}\" --fix" }, "dependencies": { - "@cool-vue/crud": "^7.1.12", + "@cool-vue/crud": "^7.1.13", "@element-plus/icons-vue": "^2.1.0", "@vueuse/core": "^10.4.0", "@wangeditor/editor": "^5.1.23", diff --git a/packages/crud/index.d.ts b/packages/crud/index.d.ts index 38cef6f..d5d7f0f 100644 --- a/packages/crud/index.d.ts +++ b/packages/crud/index.d.ts @@ -40,8 +40,8 @@ declare type obj = { declare type DeepPartial = T extends Function ? T : T extends object - ? { [P in keyof T]?: DeepPartial } - : T; + ? { [P in keyof T]?: DeepPartial } + : T; // 合并 declare type Merge = Omit & B; @@ -650,8 +650,10 @@ declare namespace ClAdvSearch { declare namespace ClSearch { interface Config { + inline?: boolean; items?: ClForm.Item[]; data?: T; + props?: ElementPlus.FormProps; resetBtn?: boolean; onLoad?(data: T): void; onSearch?(data: T, options: { next: ClCrud.Service["api"]["page"] }): void; diff --git a/packages/crud/package.json b/packages/crud/package.json index a440612..3102b09 100644 --- a/packages/crud/package.json +++ b/packages/crud/package.json @@ -1,6 +1,6 @@ { "name": "@cool-vue/crud", - "version": "7.1.12", + "version": "7.1.13", "private": false, "main": "./dist/index.umd.min.js", "typings": "types/index.d.ts", diff --git a/packages/crud/src/components/form/index.tsx b/packages/crud/src/components/form/index.tsx index 983fbf7..dd23e1c 100644 --- a/packages/crud/src/components/form/index.tsx +++ b/packages/crud/src/components/form/index.tsx @@ -451,11 +451,17 @@ export default defineComponent({ } ); + let span = e.span || style.form.span; + + if (browser.isMini) { + span = 24; + } + // 是否行内 const Item = props.inline ? ( FormItem ) : ( - + {FormItem} ); @@ -468,6 +474,12 @@ export default defineComponent({ // 表单项列表 const children = config.items.map(renderFormItem); + // 表单标签位置 + const labelPosition = + browser.isMini && !props.inline + ? "top" + : config.props.labelPosition || style.form.labelPosition; + return (
{h( @@ -486,29 +498,23 @@ export default defineComponent({ />, { ...config.props, - labelPosition: - browser.isMini && !props.inline - ? "top" - : config.props.labelPosition || style.form.labelPosition + labelPosition }, { default: () => { + const items = [ + slots.prepend && slots.prepend({ scope: form }), + children, + slots.append && slots.append({ scope: form }) + ]; + return ( -
- {/* 前 */} - {slots.prepend && slots.prepend({ scope: form })} - - {/* 项 */} +
{props.inline ? ( - children + items ) : ( - - {children} - + {items} )} - - {/* 后 */} - {slots.append && slots.append({ scope: form })}
); } diff --git a/packages/crud/src/components/search/index.tsx b/packages/crud/src/components/search/index.tsx index 0eaabc8..c8f887f 100644 --- a/packages/crud/src/components/search/index.tsx +++ b/packages/crud/src/components/search/index.tsx @@ -7,6 +7,15 @@ export default defineComponent({ name: "cl-search", props: { + inline: { + type: Boolean, + default: true + }, + props: { + type: Object, + default: () => {} + }, + // 表单值 data: { type: Object, @@ -114,6 +123,7 @@ export default defineComponent({ op: { hidden: true }, + props: config.props, items: config.items, form: config.data, on: { @@ -129,12 +139,12 @@ export default defineComponent({ isEmpty(config.items) || (