我在使用 ComboBox 作为 DataGrid itemRenderer 时遇到了这个问题。如果您需要引用 TextInput,您可以覆盖 ComboBox 并创建一个返回受保护的 textInput 的 getter。在我的情况下,我需要防止 ComboBox 可编辑时发生的自动选择。查看 ComboBox,这发生在 updateDisplayList 期间,所以这应该可以解决问题:
package com.whatever.controls
{
import mx.controls.ComboBox;
public class EditableComboBox extends ComboBox
{
public function EditableComboBox()
{
super();
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
if (editable)
{
textInput.selectionBeginIndex = text.length;
textInput.selectionEndIndex = text.length;
}
}
}
}