Просмотр исходного кода

fix: 修复Search组件无法默认值

xingyu4j 2 лет назад
Родитель
Сommit
33fbe43ff6

+ 1 - 1
yudao-ui-admin-vue3/package.json

@@ -1,6 +1,6 @@
 {
   "name": "ruoyi-vue-pro-vue3",
-  "version": "1.6.4.1851",
+  "version": "1.6.4.1861",
   "description": "基于vue3、vite3、element-plus、typesScript",
   "author": "xingyu",
   "private": false,

+ 8 - 2
yudao-ui-admin-vue3/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<Recordable>,
+    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) => {

+ 3 - 0
yudao-ui-admin-vue3/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) => {

+ 5 - 1
yudao-ui-admin-vue3/src/hooks/web/useTable.ts

@@ -18,6 +18,8 @@ interface UseTableConfig<T = any> {
   exportListApi?: (option: any) => Promise<T>
   // 返回数据格式配置
   response?: ResponseType
+  // 默认传递的参数
+  defaultParams?: Recordable
   props?: TableProps
 }
 
@@ -43,7 +45,9 @@ export const useTable = <T = any>(config?: UseTableConfig<T>) => {
     // 表格数据
     tableList: [],
     // AxiosConfig 配置
-    params: {},
+    params: {
+      ...(config?.defaultParams || {})
+    },
     // 加载中
     loading: true,
     // 导出加载中

+ 0 - 1
yudao-ui-admin-vue3/src/views/system/menu/index.vue

@@ -53,7 +53,6 @@
       :print-config="{}"
       :export-config="{}"
       :data="tableData"
-      class="xtable"
     >
       <vxe-column title="菜单名称" field="name" width="200" tree-node>
         <template #default="{ row }">