Hi, So if I understand right: You want a tabbar navigation that when the user goes to mobile or shrinks the browser changes the visual to a dropdown right?
For me the change should not happen at the level you are proposing. The component declaration in MXML is the same for both views (the data and structure), you only want to change representation. And for me that's in the realm of CSS with responsiveness. So doing a media query in CSS to arrange things in a way or another depending on the width of the browser window. That's the same we do in Jewel for Drawer, NumericStepper, ComboBox, and more... HTH Carlos El mar., 22 ene. 2019 a las 17:43, Alex Harui (<[email protected]>) escribió: > The compiler supports a special property called mxmlContent that defers > the creation of the MXML tags assigned to that property until a bit later > in the lifecycle in order to try to make sure other properties are set up > before the children in the mxmlContent are. All other mxml tags are > created at constructor time. mxmlContent is the [DefaultProperty] of > Royale containers so instead having everyone type "mxmlContent" tags over > and over again, you just skip having to type "mxmlContent". > > So, one option is to define other properties to hold other sets of > children. They will be instantiated at constructor time, but you can store > them anywhere. IMO, it is bad practice to store UI widgets in the model, > but some components have both a data model and a presentation model that > holds things that are about the view (DataGrid rowHeight for example) and > not about the data itself. > > Another option is to think of this component like a Navigator like > ViewStack. Then you'd have two containers in the mxmlContent, one that > holds the tabs or the tabbar itself and another that holds the "complex one > with a dropdown". > > Yet another option is to think of it sort of like Panel. Panel has both a > TitleBar and mxmlContent. You can specify a completely different TitleBar > for a Panel. > > HTH, > -Alex > > On 1/22/19, 1:12 AM, "Harbs" <[email protected]> wrote: > > We are working on a component which has two (very different) views > depending on available space. > > I’d like to have some markup which would look like this: > <foo:TabBar> > <foo:Tab text=“Tab 1”/> > <foo:Tab text=“Tab 2”/> > <foo:Tab text=“Tab 3”/> > <foo:Tab text=“Tab 4”/> > </foo:TabBar> > > The internal structure would change from a relatively simple one to a > complex one with a dropdown when there’s little space. > > I’d like to have a TabModel which would have an array of the tabs > specified. I’d have a separate view which is responsible for actually > adding the elements. My question is how to have the MXML children added to > the model instead of the default behavior where they are added as elements. > > Thanks, > Harbs > > -- Carlos Rovira http://about.me/carlosrovira
