Как уже говорили другие, это новый синтаксис для создания функций.
Однако, этот тип функций отличается от обычных:
Они связывают значение this
. Как объяснено в в спецификации ,
Функция ArrowFunction не определяет локальные привязки для
arguments
,super
,this
илиnew.target
. Любая ссылка наarguments
,super
,this
илиnew.target
в ArrowFunction должна разрешать привязку в лексической среде. Обычно это будет функциональная среда непосредственно включающей функции.Даже если ArrowFunction может содержать ссылки на
super
, функциональный объект, созданный на шаге 4, не превращается в метод при выполнении MakeMethod . ArrowFunction , которая ссылается наsuper
, всегда содержится в не ArrowFunction , а необходимое состояние для реализацииsuper
доступно через область , которая захвачена функциональным объектом функции ArrowFunction .
Они не являются конструкторами.
Это означает, что они не имеют [[Construct]] внутреннего метода и, следовательно, не могут быть созданы, например,
var f = a => a;
f(123); // 123
new f(); // TypeError: f is not a constructor
Вам необходимо сгруппировать все переключатели в RadioButtonGroup , а затем установить для выбора группы значение null:
<mx:RadioButtonGroup id="myGroup" />
<mx:RadioButton label="One" groupName="myGroup" />
<mx:RadioButton label="Two" groupName="myGroup" />
<mx:RadioButton label="Three" groupName="myGroup" />
<mx:Button label="Clear" click="myGroup.selection = null;" />
You could try setting all of your radio buttons to a RadioButtonGroup
then set RadioButtonGroup.selection to null
See http://livedocs.adobe.com/flex/3/langref/mx/controls/RadioButtonGroup.html#includeExamplesSummary for reference on how to implement the RadioButtonGroup
control.
The only way to solve this that I know of is to add a hidden dummy radio button that you select in order to deselect all the others.
Does this not work?
function clearRadioSelection(theGroup) {
theGroup.selection.selected = false;
theGroup.selectedRadio = undefined;
theGroup.dispatchEvent({type:"change"});
}
theGroup is the radio button group (not the individual radio buttons) from: http://kb2.adobe.com/cps/000/c4e4be2f.html
I believe you are using the RadiobuttonGroup and binding all the radiobutton controls for the perticular group.
So, easy way:
private function radioGroupReset():void
{
radioGroup1.selection = null;
}
This should work!
Очевидно, что предыдущие ответы должны максимально аккуратно направить вас туда, куда вы собираетесь, но если вы бьетесь головой об стену, просто соберите все свои переключатели в компонент, а затем перерисуйте весь компонент, когда вам нужно его очистить. Проблема решена.
В любом случае формы в лучшем случае туповаты. Не нужно усложнять жизнь.
Просто установите для свойства selection RadioButtonGroup значение null, и он перейдет в исходное состояние. .
например, если
<mx:RadioButtonGroup id="answers" />
, то запись следующей строки в ActionScript
answers.selection = null;
приведет к сбросу группы без выбранной радиокнопки. Надеюсь, это поможет тебе. Я взял идею из следующей ссылки. Удачи.
http://blog.flexexamples.com/2008/01/06/clearing-a-selected-radiobutton-control-in-flex/