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
Issue number: Part of #26297
---------
<!-- Please do not submit updates to dependencies unless it fixes an
issue. -->
<!-- Please try to limit your pull request to one type (bugfix, feature,
etc). Submit multiple pull requests if needed. -->
## What is the current behavior?
<!-- Please describe the current behavior that you are modifying. -->
With the modern form control syntax, it is not possible to add icon
buttons or other decorators to the sides of `ion-select`, as you can
with `ion-item`.
## What is the new behavior?
<!-- Please describe the behavior or changes that are being added by
this PR. -->
`start` and `end` slots added. While making this change, I also tweaked
the CSS selectors responsible for translating the label above the input
with `"stacked"` and `"floating"` placements, merging this logic into a
single class managed by the TSX. I needed to add a new class for whether
slot content is present, so the selectors were getting unwieldy
otherwise.
Docs PR TBA; I plan on knocking out all three components at once when
the features are all complete, to make dev builds easier to manage.
## Does this introduce a breaking change?
- [ ] Yes
- [x] No
<!-- If this introduces a breaking change, please describe the impact
and migration path for existing applications below. -->
## Other information
<!-- Any other information that is important to this PR such as
screenshots of how the component looks before and after the change. -->
---------
Co-authored-by: ionitron <[email protected]>
Copy file name to clipboardExpand all lines: core/src/components/select/select.tsx
+55-9Lines changed: 55 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -33,6 +33,8 @@ import type { SelectChangeEventDetail, SelectInterface, SelectCompareFn } from '
33
33
* @virtualProp {"ios" | "md"} mode - The mode determines which platform styles to use.
34
34
*
35
35
* @slot label - The label text to associate with the select. Use the `labelPlacement` property to control where the label is placed relative to the select. Use this if you need to render a label with custom HTML.
36
+
* @slot start - Content to display at the leading edge of the select.
37
+
* @slot end - Content to display at the trailing edge of the select.
36
38
*
37
39
* @part placeholder - The text displayed in the select when there is no value.
38
40
* @part text - The displayed value of the select.
@@ -762,8 +764,22 @@ export class Select implements ComponentInterface {
0 commit comments