Browse Source
fix: table internal search collspaed configuration does not take effect (#4585)
* fix: table internal search collspaed configuration does not take effect
* chore: typo
pull/4587/head
Vben
1 year ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with
27 additions and
18 deletions
-
packages/@core/ui-kit/form-ui/src/components/form-actions.vue
-
packages/@core/ui-kit/form-ui/src/use-vben-form.ts
-
packages/@core/ui-kit/form-ui/src/vben-use-form.vue
-
packages/effects/plugins/src/vxe-table/use-vxe-grid.ts
-
packages/effects/plugins/src/vxe-table/use-vxe-grid.vue
-
playground/src/views/examples/vxe-table/form.vue
|
|
|
@ -78,7 +78,9 @@ watch( |
|
|
|
</script> |
|
|
|
<template> |
|
|
|
<div |
|
|
|
:class="cn('col-span-full w-full text-right', rootProps.actionWrapperClass)" |
|
|
|
:class=" |
|
|
|
cn('col-span-full w-full pb-6 text-right', rootProps.actionWrapperClass) |
|
|
|
" |
|
|
|
:style="queryFormStyle" |
|
|
|
> |
|
|
|
<component |
|
|
|
|
|
|
|
@ -26,6 +26,7 @@ export function useVbenForm< |
|
|
|
onBeforeUnmount(() => { |
|
|
|
api.unmount(); |
|
|
|
}); |
|
|
|
api.setState({ ...props, ...attrs }); |
|
|
|
return () => |
|
|
|
h(VbenUseForm, { ...props, ...attrs, formApi: extendedApi }, slots); |
|
|
|
}, |
|
|
|
|
|
|
|
@ -34,23 +34,12 @@ props.formApi?.mount?.(form); |
|
|
|
const handleUpdateCollapsed = (value: boolean) => { |
|
|
|
props.formApi?.setState({ collapsed: !!value }); |
|
|
|
}; |
|
|
|
// if (isFunction(forward.value.handleValuesChange)) { |
|
|
|
// watch( |
|
|
|
// () => form.values, |
|
|
|
// (val) => { |
|
|
|
// forward.value.handleValuesChange?.(toRaw(val)); |
|
|
|
// }, |
|
|
|
// { |
|
|
|
// deep: true, |
|
|
|
// immediate: true, |
|
|
|
// }, |
|
|
|
// ); |
|
|
|
// } |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
|
<Form |
|
|
|
v-bind="forward" |
|
|
|
:collapsed="state.collapsed" |
|
|
|
:component-bind-event-map="COMPONENT_BIND_EVENT_MAP" |
|
|
|
:component-map="COMPONENT_MAP" |
|
|
|
:form="form" |
|
|
|
|
|
|
|
@ -20,6 +20,7 @@ export function useVbenVxeGrid(options: VxeGridProps) { |
|
|
|
onBeforeUnmount(() => { |
|
|
|
api.unmount(); |
|
|
|
}); |
|
|
|
api.setState({ ...props, ...attrs }); |
|
|
|
return () => h(VxeGrid, { ...props, ...attrs, api: extendedApi }, slots); |
|
|
|
}, |
|
|
|
{ |
|
|
|
|
|
|
|
@ -215,7 +215,6 @@ async function init() { |
|
|
|
); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
onMounted(() => { |
|
|
|
props.api?.mount?.(gridRef.value, formApi); |
|
|
|
init(); |
|
|
|
@ -246,7 +245,7 @@ onMounted(() => { |
|
|
|
<slot :name="slotName" v-bind="slotProps"></slot> |
|
|
|
</template> |
|
|
|
<template #form> |
|
|
|
<div v-if="formOptions" class="relative rounded py-3 pb-6"> |
|
|
|
<div v-if="formOptions" class="relative rounded py-3 pb-4"> |
|
|
|
<slot name="form"> |
|
|
|
<Form v-bind="vbenFormOptions"> |
|
|
|
<template |
|
|
|
|
|
|
|
@ -3,7 +3,7 @@ import type { VbenFormProps, VxeGridProps } from '#/adapter'; |
|
|
|
|
|
|
|
import { Page } from '@vben/common-ui'; |
|
|
|
|
|
|
|
import { message } from 'ant-design-vue'; |
|
|
|
import { Button, message } from 'ant-design-vue'; |
|
|
|
|
|
|
|
import { useVbenVxeGrid } from '#/adapter'; |
|
|
|
import { getExampleTableApi } from '#/api'; |
|
|
|
@ -92,11 +92,28 @@ const gridOptions: VxeGridProps<RowType> = { |
|
|
|
}, |
|
|
|
}; |
|
|
|
|
|
|
|
const [Grid] = useVbenVxeGrid({ formOptions, gridOptions }); |
|
|
|
const [Grid, gridApi] = useVbenVxeGrid({ formOptions, gridOptions }); |
|
|
|
|
|
|
|
function toggleFormCollspae() { |
|
|
|
gridApi.formApi.resetForm(); |
|
|
|
gridApi.setState({ |
|
|
|
formOptions: { |
|
|
|
showCollapseButton: !( |
|
|
|
gridApi.state?.formOptions?.showCollapseButton ?? true |
|
|
|
), |
|
|
|
}, |
|
|
|
}); |
|
|
|
} |
|
|
|
</script> |
|
|
|
|
|
|
|
<template> |
|
|
|
<Page auto-content-height> |
|
|
|
<Grid /> |
|
|
|
<Grid> |
|
|
|
<template #toolbar-tools> |
|
|
|
<Button type="primary" @click="toggleFormCollspae"> |
|
|
|
切换表单折叠按钮 |
|
|
|
</Button> |
|
|
|
</template> |
|
|
|
</Grid> |
|
|
|
</Page> |
|
|
|
</template> |
|
|
|
|