0
如何在Flex(Flash Builder 4)中啓用或禁用一組組件?Flex - 如何禁用/啓用一組組件(或更改屬性)
例如,如果我有一個包含多個字段的窗口,我想根據用戶權限將其禁用。
我知道我可以添加啓用=「true」或「啓用=」假」,我也可以用啓用=‘{writeAccessVar}’
不過,我正在尋找更多的想法,因爲我屏幕上可能有多組字段,或者更復雜的用戶權限。
例如,我現在將有一個字段具有寫入權限,屏幕上的其他字段只能讀取某個用戶級別的信息
對於更高級別的用戶,所有字段都是可寫的。更低級別,全部爲只讀。
謝謝!
到目前爲止,我決定對此稍做改動。我把它放在我的組件中:enabled =「{app.chkAcc('NW')}」chkAcc是一種方法,我將NW的組名稱傳遞給它。然後在該方法中,我檢查用戶是否訪問級別(或組成員資格),並根據它們是否爲NW成員返回true/false。 – 2012-03-24 14:05:35
我遇到的一個問題是 - 當我的應用第一次加載時,我有一個被禁用的按鈕,因爲用戶沒有登錄。用戶登錄後,我希望啓用按鈕,但事實並非如此。它不會調用我的方法,所以我假設我必須進行一些刷新以告訴該窗口重新繪製所有組件。我試過myWindow.invalidateDisplayList(); myWindow.validateNow(); ,但沒有區別? – 2012-03-24 14:36:08
您必須像我在示例中那樣使用可綁定變量。例如,將'enabled =「{app.chkAcc('NW')}''改爲'enabled =」{app.chkAcc(accessLevel)}「',其中'accessLevel'是一個可綁定的變量。實際上,這只是通過調用函數:'enabled =「{app.chkAcc(accessLevel)}」'的一個測試來取代我通過'enabled =「{accessLevel> = 0}」進行的測試。 – sch 2012-03-24 14:47:38