PrimeReactコンポーネントは、テンプレート機能を使用して、任意のアイコンライブラリで使用できます。アイコンには、元のアイコンのiconPropsとコンポーネントのpropsが渡されます。
Material icons は、Google Material Designに基づいた公式のアイコンライブラリです。
import ArrowDropDownIcon from '@mui/icons-material/ArrowDropDown';
<Dropdown dropdownIcon={(options) => <ArrowDropDownIcon {...options.iconProps} />} />
Font Awesomeは、幅広いアイコンを備えた人気のアイコンライブラリです。
// use the CSS style directly
<Dropdown dropdownIcon="fa-light fa-chevron-down" />
// use the pre-built icons
<Dropdown dropdownIcon={(options) => <FontAwesomeIcon icon={["fal", "chevron-down"]} {...options.iconProps} /> } />
インラインSVGは、DOM内に埋め込まれます。
<Dropdown dropdownIcon={(options) =>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" {...options.iconProps}>
<g id="chevron-down">
<path d="M12,15.25a.74.74,0,0,1-.53-.22l-5-5A.75.75,0,0,1,7.53,9L12,13.44,16.47,9A.75.75,0,0,1,17.53,10l-5,5A.74.74,0,0,1,12,15.25Z"/>
</g>
</svg>} />
あらゆる種類の画像をアイコンとして使用できます。
<Dropdown dropdownIcon={(options) => <img alt="dropdown icon" src="/icons/arrow_down.png" {...options.iconProps} />} />