2010-03-21 75 views
0

我爲flex中的項目創建了訂單。我使用<mx:TextInput />從客戶端獲取信息,並使用<mx:Button />來提交數據庫中的信息。但客戶要求是當用戶點擊按鈕時,首先顯示一個確認頁面,其中包含客戶給出的詳細信息。但在此確認頁面中不能使用其他頁面或<mx:TextInput />,它將是<mx:Label />。顯示確認頁面後,如果客戶點擊按鈕,然後提交信息。在flex中將文本輸入更改爲標籤

如何將<mx:TextInput />轉換爲<mx:Label />所有flex屬性?可能嗎?

回答

0

ViewStack是最合適的,所以我同意lach。你不需要爲使用表單,只需使用一個ViewStack用帆布容器:

<mx:ViewStack width='100%' height='100%'> 
    <mx:Canvas id='edit'>edit controls here</mx:Canvas> 
    <mx:Canvas id='view'>view here</mx:Canvas> 
</mx:ViewStack> 

比你可以控制哪些帆布應該是通過改變則ViewStack的selectedIndex可見。

1

您不會將TextInput轉換爲標籤。您使用單獨的Label組件並根據表單的狀態決定顯示哪一個。可能最直接的方法是在視圖堆棧中使用兩個單獨的表單。第一個表單包含TextInputs。另一個表單包含標籤。當用戶提交第一個表單時,只需更改視圖堆棧的selectedIndex。

+0

我不能使用單獨的表單......任何其他解決方案? – 2010-03-21 07:13:17

+1

如果您不想使用視圖堆棧,則仍然可以在同一個表單中使用單獨的控件,並使用狀態或其他變量控制其可見性。您需要設置控件的'visible'和'includeInLayout'屬性以使其完全隱藏。 – lach 2010-03-21 22:06:27