我对我当前的项目(将在 Flash 播放器中运行的 Flex 应用程序)有一个要求,即在表单上显示组件的任意子集,同时根据应用程序状态的某些方面隐藏所有其他组件。大约有十几个不同的文本框和下拉菜单,但根据之前输入的用户数据,有些变得无关紧要,我们不想在进入这个特定表单时显示它们。每次显示此表单时,我都可能需要显示这些组件的许多排列中的任何一种。
我正在尝试确定解决此问题的最佳方法是什么。我是否应该创建一个包含所有需要的控件的 Canvas(或其他容器),然后在我不需要的控件上设置 visible = false ?然后问题就变成了确保布局看起来不错。我不希望隐藏控件的位置出现空白。
我考虑过的另一个选项只是拥有一种机制,可以动态实例化 TextInput 或 CheckBox 等组件,然后调用 container.addChild(control) 以构建组件而不必担心间隙问题。
这似乎是一个在 flex 中有惯用解决方案的问题,但我不知道它是什么。这些想法似乎都不是很好,所以我想知道是否还有其他人有更好的想法。