|
import { h } from 'vue' |
|
import { SvgIcon } from '@/components/common' |
|
|
|
export const useIconRender = () => { |
|
interface IconConfig { |
|
icon?: string |
|
color?: string |
|
fontSize?: number |
|
} |
|
|
|
interface IconStyle { |
|
color?: string |
|
fontSize?: string |
|
} |
|
|
|
const iconRender = (config: IconConfig) => { |
|
const { color, fontSize, icon } = config |
|
|
|
const style: IconStyle = {} |
|
|
|
if (color) |
|
style.color = color |
|
|
|
if (fontSize) |
|
style.fontSize = `${fontSize}px` |
|
|
|
if (!icon) |
|
window.console.warn('iconRender: icon is required') |
|
|
|
return () => h(SvgIcon, { icon, style }) |
|
} |
|
|
|
return { |
|
iconRender, |
|
} |
|
} |
|
|