Browse Source

refactor(drawer): refactor props detailType to isDetail

pull/117/head
vben 6 years ago
parent
commit
2628fb550d
  1. 5
      CHANGELOG.zh_CN.md
  2. 6
      src/components/Drawer/src/BasicDrawer.tsx
  3. 7
      src/components/Drawer/src/props.ts
  4. 6
      src/components/Drawer/src/types.ts
  5. 8
      src/views/demo/comp/drawer/Drawer5.vue

5
CHANGELOG.zh_CN.md

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

6
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`}>
{() => (

7
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>,

6
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;

8
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>

Loading…
Cancel
Save