ant-design-vue/components/config-provider/renderEmpty.tsx

38 lines
1004 B
Vue
Raw Normal View History

import Empty from '../empty';
2021-12-16 09:20:18 +00:00
import type { VueNode } from '../_util/type';
2022-02-27 03:31:28 +00:00
import useConfigInject from '../_util/hooks/useConfigInject';
2020-08-23 08:45:55 +00:00
export interface RenderEmptyProps {
componentName?: string;
}
const RenderEmpty = (props: RenderEmptyProps) => {
2022-02-27 03:31:28 +00:00
const { prefixCls } = useConfigInject('empty', props);
2020-08-23 08:45:55 +00:00
const renderHtml = (componentName?: string) => {
switch (componentName) {
case 'Table':
case 'List':
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />;
2020-08-23 08:45:55 +00:00
case 'Select':
case 'TreeSelect':
case 'Cascader':
case 'Transfer':
case 'Mentions':
2022-02-27 03:31:28 +00:00
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} class={`${prefixCls.value}-small`} />;
2020-08-23 08:45:55 +00:00
default:
return <Empty />;
}
2020-08-23 08:45:55 +00:00
};
2020-10-12 07:47:32 +00:00
return renderHtml(props.componentName);
};
2021-12-16 09:20:18 +00:00
function renderEmpty(componentName?: string): VueNode {
2019-03-15 02:04:14 +00:00
return <RenderEmpty componentName={componentName} />;
}
2020-09-29 14:06:01 +00:00
export type RenderEmptyHandler = typeof renderEmpty;
export default renderEmpty;