Component states to inherit interactions from master default state
Component states should behave like component copy instances. This includes interactions to be copied to all child states. This is essential, for example, for a menu component in which each state is the active status of each menu item. But when I create new state it loses all interactions. Maintaining 5 states with 5 menu items becomes tedious.
Boggles my mind that this still isn't a thing. Every time I start making button components then try to use them across layouts I start to tear my hair out. It's so miserable.
Jens Klang commented
I found a workaround that I wanted to share. Maybe this solves your high-fidelity prototype problem.
As in my previous post, the navigation is made on a separate component with just one state. We call that Navigation. Place that object inside the actual Menu object and navigation will be inherited between the states.
But this only works with navigation between artboards and not states.
Jens Klang commented
I just re-discovered that this was not fixed. I was wondering why I made a convoluted solution with a placeholder transparent object about the actual menu. But this is why.
So the solution is to ad a dummy object above the menu that does only has one state, which is controlling the navigation. And then you have to switch the states on each page where the component is. This works if it's a navigation menu in an app/Webb.
Adobe, please fix this.
I'm creating a very high-fidelity prototype for an important client, as they want it almost fully functional for user testing/stakeholder buy-in. I have a map component in there with 27 polygons that each have an interaction, so the map component also has 27 states. 27 X 27 = 729.
I HAVE TO MANUALLY ENTER 729 INTERACTIONS, rather than just 27 interactions to the default state which should copy over to all of the other states. This is crazy. The list of reasons not to use Adobe XD grows every day.
Grant Smith commented
New to XD and would have thought this is basic functionality. Please see Sketch for great user example.
We need this!
Michael Laugesen commented
Any news on this?
States are basically useless without this feature IMO. I should also be able to change the text of the default state and have it update on all child states.
Yes, it could be great to have the option "copy the change to chid states". Because for a button, you have to change manually le label for all the states.
Any news? Because there is too much manual work for edit states.
John Vanore commented
component instances - update to default state should automatically update non customized properties for all other states. This is currently the behavior in the master component; when you update a property in the default state, and that property has not been customized in other states, the other states inherit the change made in the default state. This behavior is not the same in instances of the component however. Similarly, if I cut or paste from/to the default state, that element should be cut or pasted from/to the other states as well. It works this was in the master component states, but not the instances. It should be a consistent experience, but it's not. The result is needing to make the same change many times over throughout all the states. When you have components nested within other components, the issue is magnified. The time it takes to make these changes quickly adds up.
Rob Lee commented
I use buttons a lot, if I change the label in the default state, it should change the label across states. I have to update 4 states on every button.
Matthias Ott commented
+1! This is super important IMO. It already works for the master component but not for other instances of the component. Also got this feedback in one of the XDI workshops. Great to hear that you are on it! :)
+ 1 for this! *goes back to wiring states to 100 components*
Hi Harun. Thank you so much for posting your feedback. This is definitely something we are working on. We agree that you should not have to manually maintain syncing across states and instances, so we are definitely on it. Stay tuned because it's definitely on its way.