Преглед изворни кода

refactor(drawer): refactor props detailType to isDetail

vben пре 4 година
родитељ
комит
2628fb550d

+ 5 - 0
CHANGELOG.zh_CN.md

@@ -5,6 +5,11 @@
 - 面包屑支持显示图标
 - 新增 tinymce 富文本组件
 - 表单新增 submitOnReset 控制是否在重置时重新发起请求
+- 表格新增`sortFn`支持自定义排序
+
+### ✨ Refactor
+
+- Drawer 组件的 detailType 修改为 isDetail
 
 ### 🎫 Chores
 

+ 3 - 3
src/components/Drawer/src/BasicDrawer.tsx

@@ -16,7 +16,7 @@ import { FullLoading } from '/@/components/Loading/index';
 
 import { getSlot } from '/@/utils/helper/tsxHelper';
 
-import { DrawerInstance, DrawerProps, DrawerType } from './types';
+import { DrawerInstance, DrawerProps } from './types';
 
 import { basicProps } from './props';
 import { isFunction, isNumber } from '/@/utils/is';
@@ -54,7 +54,7 @@ export default defineComponent({
       };
       opt.title = undefined;
 
-      if (opt.drawerType === DrawerType.DETAIL) {
+      if (opt.isDetail) {
         if (!opt.width) {
           opt.width = '100%';
         }
@@ -157,7 +157,7 @@ export default defineComponent({
 
     function renderHeader() {
       const { title } = unref(getMergeProps);
-      return props.drawerType === DrawerType.DETAIL ? (
+      return props.isDetail ? (
         getSlot(slots, 'title') || (
           <Row type="flex" align="middle" class={`${prefixCls}__detail-header`}>
             {() => (

+ 3 - 4
src/components/Drawer/src/props.ts

@@ -1,5 +1,4 @@
 import type { PropType } from 'vue';
-import { DrawerType } from './types';
 // import {DrawerProps} from './types'
 export const footerProps = {
   confirmLoading: Boolean as PropType<boolean>,
@@ -41,9 +40,9 @@ export const footerProps = {
   },
 };
 export const basicProps = {
-  drawerType: {
-    type: Number as PropType<number>,
-    default: DrawerType.DEFAULT,
+  isDetail: {
+    type: Boolean as PropType<boolean>,
+    default: false,
   },
   title: {
     type: String as PropType<string>,

+ 1 - 5
src/components/Drawer/src/types.ts

@@ -20,10 +20,6 @@ export interface ReturnInnerMethods extends DrawerInstance {
 
 export type UseDrawerReturnType = [RegisterFn, ReturnMethods];
 export type UseDrawerInnerReturnType = [RegisterFn, ReturnInnerMethods];
-export enum DrawerType {
-  DETAIL,
-  DEFAULT,
-}
 
 export interface DrawerFooterProps {
   showOkBtn: boolean;
@@ -69,7 +65,7 @@ export interface DrawerFooterProps {
   footerHeight: string | number;
 }
 export interface DrawerProps extends DrawerFooterProps {
-  drawerType: DrawerType;
+  isDetail?: boolean;
   loading?: boolean;
   showDetailBack?: boolean;
   visible?: boolean;

+ 3 - 5
src/views/demo/comp/drawer/Drawer5.vue

@@ -1,15 +1,13 @@
 <template>
-  <BasicDrawer v-bind="$attrs" :drawerType="DrawerType.DETAIL" title="Drawer Title5">
+  <BasicDrawer v-bind="$attrs" :isDetail="true" title="Drawer Title5">
     <p class="h-20">Content Message</p>
   </BasicDrawer>
 </template>
 <script lang="ts">
   import { defineComponent } from 'vue';
-  import { BasicDrawer, DrawerType } from '/@/components/Drawer';
+  import { BasicDrawer } from '/@/components/Drawer';
   export default defineComponent({
     components: { BasicDrawer },
-    setup() {
-      return { DrawerType };
-    },
+    setup() {},
   });
 </script>