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
Picker: Add cascading columns support to IonPicker component. #15710
Comments
Sounds like a nice feature! If you would like to submit a PR to add support for this, we would gladly accept it. |
Honest to say, I hope can help. |
@netsesame2 so what alternatives do we have right now ? |
Oh nice! Thanks @netsesame2 |
Is there no concrete solution yet? |
Issue number: resolves #24905, resolves #26840, resolves #15710 --------- <!-- 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. --> The current picker is only displayed as an overlay which makes it impossible to use inline with the rest of the application. Additionally, there are several bugs and missing features. For example, it is impossible to know when the value of the picker column has changed using public APIs. This is valuable for updating other columns in response to that data. ## What is the new behavior? <!-- Please describe the behavior or changes that are being added by this PR. --> - Introduces `ion-picker` as an inline wheel picker component. The overlay picker is still available using `ion-picker-legacy`. - The implementation of this component resolves linked bugs. It also resolves linked features by exposing an `ionChange` event for developers to listen for. ## 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. --> Dev-build: `7.5.8-dev.11702398696.1ab62ea9` --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: Shawn Taylor <shawn@ionic.io> Co-authored-by: Maria Hutt <thetaPC@users.noreply.github.com> Co-authored-by: Amanda Johnston <90629384+amandaejohnston@users.noreply.github.com> Co-authored-by: Sean Perkins <13732623+sean-perkins@users.noreply.github.com> Co-authored-by: Brandy Carney <brandyscarney@users.noreply.github.com>
Thanks for the request. Each picker column is designed to act independently of other columns by default. As a result, we do not plan to implement this behavior in Ionic. However, we are adding a new inline picker in Ionic 8 with APIs that will make the requested behavior easier to implement in applications. As part of this work, each column will now emit an |
Thanks for the issue! This issue is being locked to prevent comments that are not relevant to the original issue. If this is still an issue with the latest version of Ionic, please create a new issue and ensure the template is fully filled out. |
Current IonPicker component, just as acting in IonDatetime component, can support multi columns, however, each column is standalone, which has no relationship with others.
In fact, cascading relationship between columns sometimes is very common.
For example, when we choose country | city | address, such choosing action is suitable for Picker UI.
We can find some good solutions from other JS package to support cascading issues, but we hope it can be supported in ionic's own component.
https://github.com/raychenfj/ion-multi-picker
##which now does not support V4
https://didi.github.io/cube-ui/example/#/cascade-picker
To realize it, it is very sample. Just emit a change event when user scroll one column end, and then offer an API method, to allow user update some column data. Sure, if all of these can be configured, it will be better.
Thanks for your great jobs.
The text was updated successfully, but these errors were encountered: