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