You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
У компонента Select есть возможность передавать кастомные компоненты и пропсы для них:
Field и fieldProps
OptionsList и optionsListProps
Search и searchProps
Option и optionProps.
При этом fieldProps, optionsListProps, searchProps и optionProps имеют тип unknown.
Предлагаю доработать типизацию таким образом, чтобы optionProps принимал такой же тип, как и компонент, переданный в Option. Аналогично для optionsListProps, searchProps и fieldProps.
Поведение
import{Select}from'@alfalab/core-components/select';import{Option,OptionProps}from'@alfalab/core-components/select/shared';typeCustomOptionProps=OptionProps&{customProp: number;};constCustomOption: FC<CustomOptionProps>=(props)=>{return(...);}<Selectoptions={[]}selected={null}// Тут сейчас ошибка, т.к. тип компонента зашит (`OptionProps`)// После доработки сюда можно будет передавать любой компонент, // пропсы которого наследуются от `OptionProps`Option={CustomOption}// Сюда можно передать что угодно, т.к. тип unknown. // После доработки тип здесь будет выводиться из пропса `Option` (будет `CustomOptionProps`)optionProps={{customProp: 1}}/>
The text was updated successfully, but these errors were encountered:
Описание
У компонента
Select
есть возможность передавать кастомные компоненты и пропсы для них:Field
иfieldProps
OptionsList
иoptionsListProps
Search
иsearchProps
Option
иoptionProps
.При этом
fieldProps
,optionsListProps
,searchProps
иoptionProps
имеют типunknown
.Предлагаю доработать типизацию таким образом, чтобы
optionProps
принимал такой же тип, как и компонент, переданный вOption
. Аналогично дляoptionsListProps
,searchProps
иfieldProps
.Поведение
The text was updated successfully, but these errors were encountered: