vuecssuiant-designantdreactantantd-vueenterprisefrontendui-designvue-antdvue-antd-uivue3vuecomponent
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1016 B
35 lines
1016 B
import Empty from '../empty'; |
|
import type { VueNode } from '../_util/type'; |
|
import useConfigInject from './hooks/useConfigInject'; |
|
|
|
export interface RenderEmptyProps { |
|
componentName?: string; |
|
} |
|
|
|
export const DefaultRenderEmpty = (props: RenderEmptyProps) => { |
|
const { prefixCls } = useConfigInject('empty', props); |
|
const renderHtml = (componentName?: string) => { |
|
switch (componentName) { |
|
case 'Table': |
|
case 'List': |
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} />; |
|
case 'Select': |
|
case 'TreeSelect': |
|
case 'Cascader': |
|
case 'Transfer': |
|
case 'Mentions': |
|
return <Empty image={Empty.PRESENTED_IMAGE_SIMPLE} class={`${prefixCls.value}-small`} />; |
|
default: |
|
return <Empty />; |
|
} |
|
}; |
|
return renderHtml(props.componentName); |
|
}; |
|
|
|
function renderEmpty(componentName?: string): VueNode { |
|
return <DefaultRenderEmpty componentName={componentName} />; |
|
} |
|
|
|
export type RenderEmptyHandler = typeof renderEmpty; |
|
|
|
export default renderEmpty;
|
|
|