Kann ich binden, eine Flex-Komponente Eigenschaft für eine Funktion?
Den ich einstellen will aktiviert - Eigenschaft auf eine Schaltfläche basierend auf dem Rückgabewert einer Funktion, die einen oder mehrere Parameter. Wie kann ich dies tun?
private function isUserAllowed (userName:Boolean):Boolean {
if (userName == 'Tom')
return true;
if (userName == 'Bill')
return false;
}
<mx:Button label="Create PO" id="createPOButton"
enabled="<I want to call isUserAllowed ('Bill') or isUserAllowed ('Tom') here>"
click="createPOButton_Click()" />
Du musst angemeldet sein, um einen Kommentar abzugeben.
oder inline:
Nach dem Flex-docs, solange die Eigenschaft ist bindbar, Sie können einfach tun dies (ich habe die beiden extra Tasten zu belegen):
Ohne currentUser gekennzeichnet [Bindable], obwohl, es wird nicht funktionieren.
Einen anderen Weg zu gehen, wenn Sie wollte, binden mehr wörtlich an die Funktion (dies drückt sich auch in den docs), wäre die Funktion auf ein Ereignis reagiert Sie Versand, wenn der aktuelle Benutzer ändert sich, etwa so:
So gibt es ein paar Möglichkeiten. IMO, die zweite scheint irgendwie richtig, aber es gibt auf jeden Fall nichts falsch mit dem ersten. Viel Glück!
Hier ist, was ich getan habe, ein paar mal in ähnlichen Umständen:
Diese Weise, wenn Sie die Bindbare
_username
änderungen, wird es Feuer eine Benachrichtigung ändern. Da ist das label hören_username
änderungen (selbst wenn es ist einfach ein parameter an eine andere Funktion), dieenabled
Eigentum wird neu beurteilt.