ant-design选择全部的icons

1,058 阅读1分钟

需要把ant-design/icons全部的icon展示出来,可以选择 效果图

icon5.png

ant-design的icon使用一般是用到哪个引入.当然也可以引入全部的icon, 并且可以通过传入component来创建icon

icon1.png

icon2.png

实现方法:

注意点: 获取到的全部icons里面有一些是fuanction,要过滤掉

import React from 'react'
import { Select } from 'antd'
import Icon from '@ant-design/icons'
import * as icons from '@ant-design/icons'

const { Option } = Select

export interface iconSelectProps {
  placeholder?: string
}
console.log(icons, Object.keys(icons))
const IconSelect: React.FC<iconSelectProps> = ({ placeholder = '请选择图标' }) => {
  // const iconList = Object.keys(icons)
  // 里面有一些是方法,要筛选一遍,否则页面会报错    
  const iconList = Object.keys(icons).filter((item) => typeof icons[item] === 'object')
return (
    <Select 
      placeholder={placeholder} 
      showSearch 
      allowClear 
      style={{ width: '100%' }}
    >
      {iconList.map(item => {
        return <Option value={item} key={item}>
          <Icon component={icons[item]} style={{marginRight: '8px'}} />
          {item}
        </Option>
      })}
    </Select>
  )
}

export default IconSelect

打印的内容:

icon3.png

icon4.png

这样就搞定了(^▽^)