使textarea在所有其他文本输入的顶部可见

时间:2009-05-27 12:51:35

标签: flex layout textarea

我创建了自己的验证控件。

像这样的事情 control.mxml:

<mx:states>
    <mx:State name="ExceptionState">
        <mx:AddChild relativeTo="{hbox1}">
            <mx:TextArea id="txtError"  
                styleName="errorMessage" 
                width="140" minHeight="26" 
                wordWrap="true" editable="false" 
                /> 
        </mx:AddChild>
        <mx:SetProperty name="height" value="56" /> 
        <mx:SetProperty target="{txtInput}" name="y" /> 
        <mx:SetProperty name="width" value="100%" />  
    </mx:State>
</mx:states>
<mx:HBox width="100%" x="0" y="0" id="hbox1" styleName="nopadding">
    <mx:TextInput id="txtInput" 
        text="{text}" 
        displayAsPassword="{displayAsPassword}" 
        maxChars="{maxLength}" 
        cornerRadius="0" 
        height="22" 
        styleName="{inputStyleName}" 
        width="{_inputWidth}" 
        /> 
</mx:HBox>

当我验证txtinput并且它无效时,textarea会出现一些信息。

现在我在画布中有几个textinput字段

  

<custom:control id="eerstes" errormessage("message1");/> <custom:control id="tweeds"errormessage("message2");/>

等。 但是当eerstes无效时,会出现textarea,我的自定义控件带有id tweeds会稍微改变。

是否可以让textarea浮动,但这仍然是相对于hbox1?

谢谢,

JSMB

2 个答案:

答案 0 :(得分:1)

如果我是你,我会尝试使用PopUpManager.addPopUp将TextField放入框中。完成后,您可以手动重新定位TextField,而不会影响框的子对齐。您甚至可以使用BindingUtils使其工作,这样您就不必每次都重新定位它。

另一方面,您可以使用Alert.show,它只会在整个SWF上弹出一个弹出窗口。

答案 1 :(得分:0)

组件自定义的基类是什么:控制?它是否扩展了Canvas?