我希望创建一个带有 ItemRenderers 的 ComboBox,它可以有多行(或没有)。一张图片说了一千多个单词,所以这里是:
这是非常简单的代码:
<s:ComboBox>
<s:layout>
<s:VerticalLayout gap="0" requestedMinRowCount="1" requestedMaxRowCount="6"
horizontalAlign="justify" variableRowHeight="true" />
</s:layout>
</s:ComboBox>
现在的问题是,每隔一段时间,当 dataProvider 真的很大并且一些标签很长时,ComboBox 就会完全发疯。有时弹出窗口会闪烁并消失,然后再也不回来了。有时我可以看到弹出窗口,但它不在正确的位置(位于 TextInput 的正下方)并且它显示的项目太多(如果您查看我的代码,您会看到我设置了requestedMaxRowCount="6"
)。
这看起来很像组件或布局类中的错误。我不认为这是一个非常罕见的用例,所以我希望有人已经找到了解决这个问题的可行方法。
请注意,在 ItemRenderer 上设置固定宽度并使用horizontalAlign="contentJustify"
是不可接受的选项。该解决方案必须是可重用的,并且我不想为应用程序中的每个 ComboBox 创建自定义 ItemRenderer。(图片中使用的自定义主题也不是问题;我也使用默认的 Spark 主题进行了测试)。