Closed jakobe closed 1 week ago
Thank you for this issue!
I was able to confirm this issue does not reproduce in the isolated web components, but occurs when consumed in Angular.
We might be able to use onSlotchange
here in ion-segment
to handle the "value change" (items changing) behavior.
Here is a dev-build: 8.0.2-dev.11714411675.10f48160
if you would like to test and report any unexpected behaviors.
Thanks!
This Bug also appears on ion-radio-group
and maybe on other components like accordion.
Hier is the code to reproduce: https://stackblitz.com/edit/angular-vquurr-ec7ark?file=src%2Fapp%2Fexample.component.html
@sean-perkins Great! And thanks for the quick reply ⚡
I can confirm this fix works in my scenario as well 👌🏻
I've updated the Stackblitz reproduction example: https://stackblitz.com/edit/angular-elmzeu
Prerequisites
Ionic Framework Version
v7.x
Current Behavior
When updating the nested segment buttons of the Segment control the active segment button looses it's checked state even when the value matches the value of the containing Segment control. The issue is similar to #28816 but for segment-button, i.e. the value changes after
connectedCallback
is fired but before any Stencil Watchers are configured. As a result, thevalue
property watcher does not fire which causesupdateState
not to be called. The fix in #28837 only fixes the problem on initial rendering, but not on subsequent updates to the nested segment buttons.Expected Behavior
The active segment button should be highlighted when it's
value
matches thevalue
of it's containing segment control - as was the case before standalone components.Steps to Reproduce
value
matches the Segment control'svalue
Code Reproduction URL
https://stackblitz.com/edit/angular-elmzeu
Ionic Info
Ionic:
Ionic CLI : 5.4.16
Utility:
cordova-res : not installed native-run (update available: 2.0.1) : 1.7.4
System:
NodeJS : v20.11.0 npm : 10.2.4 OS : macOS Unknown
Additional Information
In the Stackblitz reproduction example the nested segment buttons are updated with an additional button, but keeping same value for the first 2 buttons - the problem is the same though when rendering nested buttons each with a new value while updating the
value
of the Segment control at the same time to match one of the newly rendered buttons.