From 3368fda251bd3ff5a8e0059b3b33f9c0339d236b Mon Sep 17 00:00:00 2001 From: kailong321200875 <321200875@qq.com> Date: Mon, 21 Nov 2022 16:13:31 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8DSearch=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E6=97=A0=E6=B3=95=E9=BB=98=E8=AE=A4=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/Search/src/Search.vue | 10 ++++++++-- src/hooks/web/useForm.ts | 3 +++ src/hooks/web/useTable.ts | 6 +++++- src/views/Components/Table/DefaultTable.vue | 10 ++++++++-- src/views/Example/Dialog/ExampleDialog.vue | 10 +++++++++- 5 files changed, 33 insertions(+), 6 deletions(-) diff --git a/src/components/Search/src/Search.vue b/src/components/Search/src/Search.vue index 78435f0..3ff06ef 100644 --- a/src/components/Search/src/Search.vue +++ b/src/components/Search/src/Search.vue @@ -33,7 +33,11 @@ const props = defineProps({ expand: propTypes.bool.def(false), // 伸缩的界限字段 expandField: propTypes.string.def(''), - inline: propTypes.bool.def(true) + inline: propTypes.bool.def(true), + model: { + type: Object as PropType, + default: () => ({}) + } }) const emit = defineEmits(['search', 'reset']) @@ -62,7 +66,9 @@ const newSchema = computed(() => { return schema }) -const { register, elFormRef, methods } = useForm() +const { register, elFormRef, methods } = useForm({ + model: props.model || {} +}) const search = async () => { await unref(elFormRef)?.validate(async (isValid) => { diff --git a/src/hooks/web/useForm.ts b/src/hooks/web/useForm.ts index 0d4f688..356ee8f 100644 --- a/src/hooks/web/useForm.ts +++ b/src/hooks/web/useForm.ts @@ -41,6 +41,9 @@ export const useForm = (props?: FormProps) => { setProps: async (props: FormProps = {}) => { const form = await getForm() form?.setProps(props) + if (props.model) { + form?.setValues(props.model) + } }, setValues: async (data: Recordable) => { diff --git a/src/hooks/web/useTable.ts b/src/hooks/web/useTable.ts index 8ad0576..5d111ee 100644 --- a/src/hooks/web/useTable.ts +++ b/src/hooks/web/useTable.ts @@ -23,6 +23,8 @@ interface UseTableConfig { list: string total?: string } + // 默认传递的参数 + defaultParams?: Recordable props?: TableProps } @@ -47,7 +49,9 @@ export const useTable = (config?: UseTableConfig) => { // 表格数据 tableList: [], // AxiosConfig 配置 - params: {}, + params: { + ...(config?.defaultParams || {}) + }, // 加载中 loading: true, // 当前行的数据 diff --git a/src/views/Components/Table/DefaultTable.vue b/src/views/Components/Table/DefaultTable.vue index 9e17227..dcbe5a5 100644 --- a/src/views/Components/Table/DefaultTable.vue +++ b/src/views/Components/Table/DefaultTable.vue @@ -31,7 +31,8 @@ const columns: TableColumn[] = [ }, { field: 'display_time', - label: t('tableDemo.displayTime') + label: t('tableDemo.displayTime'), + sortable: true }, { field: 'importance', @@ -90,7 +91,12 @@ const actionFn = (data: TableSlotDefault) => {