-
Notifications
You must be signed in to change notification settings - Fork 185
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(Select/CustomSelect): Allow to use custom options in renderOption prop #6076
fix(Select/CustomSelect): Allow to use custom options in renderOption prop #6076
Conversation
size-limit report 📦
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit 97266e9:
|
e2e tests |
👀 Docs deployed
Commit 97266e9 |
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #6076 +/- ##
==========================================
+ Coverage 79.26% 79.34% +0.07%
==========================================
Files 306 306
Lines 9612 9620 +8
Branches 3254 3256 +2
==========================================
+ Hits 7619 7633 +14
+ Misses 1993 1987 -6
Flags with carried forward coverage won't be shown. Click here to find out more.
☔ View full report in Codecov by Sentry. |
Because it's not possible to assing to generic constrain
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
… prop (#6076) Мы вроде бы позволяем использовать опции любых типов, которые бы имели у себя обязательные свойста Select, https://github.com/VKCOM/VKUI/blob/3a844db48dea7a4d83d2b9020c2bf21ba18a3344/packages/vkui/src/components/CustomSelect/CustomSelect.tsx#L107-L112 но сейчас TS ругается если мы пытаемся использовать в `renderOption` опции со свойствами, которых нету в `CustomSelectOptionInterface`. * Изменения Добавили дженерик для типа опций с constraint, чтобы можно было использовать расширинный тип опции с обязательными полями. Юнит-тест для проверки случаев использования CustomSelect с расширенными опциями. В основном, чтобы поймать ошибку типов.
… prop (#6076) Мы вроде бы позволяем использовать опции любых типов, которые бы имели у себя обязательные свойста Select, https://github.com/VKCOM/VKUI/blob/3a844db48dea7a4d83d2b9020c2bf21ba18a3344/packages/vkui/src/components/CustomSelect/CustomSelect.tsx#L107-L112 но сейчас TS ругается если мы пытаемся использовать в `renderOption` опции со свойствами, которых нету в `CustomSelectOptionInterface`. * Изменения Добавили дженерик для типа опций с constraint, чтобы можно было использовать расширинный тип опции с обязательными полями. Юнит-тест для проверки случаев использования CustomSelect с расширенными опциями. В основном, чтобы поймать ошибку типов.
Описание
Мы вроде бы позволяем использовать опции любых типов, которые бы имели у себя обязательные свойста Select,
VKUI/packages/vkui/src/components/CustomSelect/CustomSelect.tsx
Lines 107 to 112 in 3a844db
но сейчас TS ругается если мы пытаемся использовать в
renderOption
опции со свойствами, которых нету вCustomSelectOptionInterface
.Изменения
Добавили дженерик для типа опций с constraint, чтобы можно было использовать расширинный тип опции с обязательными полями.