Как предотвратить изменение выбора дерева? - PullRequest
0 голосов
/ 16 марта 2011

У меня есть дерево в приложении Flex, и выбран один из элементов.

Когда пользователь щелкает другой элемент, я хотел бы сделать проверку и, возможно, предотвратить изменение выбора.

Я пытался перехватить событие click и вызвать stopPropagation, а также itemClick with stopPropogation, но оба не препятствуют изменению selectedItem.

Есть идеи?

Редактировать 23 марта - Добавление исходного кода. Это на самом деле довольно просто:

<mx:Tree id="navTree"
    labelField="name"
    dragEnabled="false"
    itemClick="navTree_itemClickHandler(event)"
    itemRenderer="views.components.TopologyCustomTreeItemRenderer"          
    width="100%" height="100%"/>

И обработчик события:

protected function navTree_itemClickHandler(event:ListEvent = null):void
{   
    if(navTree.selectedItem != null && event != null)
    {
        event.preventDefault();
        event.stopImmediatePropagation();
    }
}

После выбора первого элемента дерево не должно позволять изменять выбор. Тем не менее, выбор все еще меняется.

Ответы [ 2 ]

1 голос
/ 16 марта 2011

Разве <mx:Tree selectable="false"> не то, что вы хотите сделать?

1 голос
/ 16 марта 2011

Я думаю, вы должны использовать preventDefault() с stopPropagation или stopImmediatePropagation() или, возможно, оба

...