Хобрук: Ваш путь к мастерству в программировании

GWT. Активировать ChangeEvent в ListBox программно.

Я хочу программно запустить ListBox ChangeEvent. Я нашел функцию, но не понимаю, какой тип параметра мне нужно передать:

DomEvent.fireNativeEvent(NativeEvent - where???, listBox());
12.03.2012

Ответы:


1

Вы можете запустить собственный ChangeEvent для виджета, используя:

DomEvent.fireNativeEvent(Document.get().createChangeEvent(), yourListBox);
12.03.2012
  • Это только событие запуска и не изменяет выбранный элемент. 13.01.2013
  • Саид Заринфам: сначала установите предмет, затем запустите событие, следуя совету Стрелка. 19.01.2013

  • 2

    Это старый вопрос, но я хочу поделиться своим решением, потому что оно работает только для меня (gwt.version= 2.6.1 и com.github.jdramaix gwtchosen version = 1.2.0)

    public class ChosenListBoxNew extends ChosenListBox {
        public ChosenListBoxNew() {
        super();
        }
    
        public void fireUpdateEvent(){
        ensureChosenHandlers().fireEvent(new ChosenChangeEvent(this.getValue(), this.getSelectedIndex(), null));
        }
    }
    

    И вы можете запустить событие обновления, вызвав fireUpdateEvent() нового класса:

    moduleSelectionLst.setSelectedIndex(-1); //Update selected value
    moduleSelectionLst.update(); //Update UI
    moduleSelectionLst.fireUpdateEvent();  // Fire update event
    
    22.07.2015

    3

    Можно запустить событие с помощью JSNI:

    public native void fireOnChange(String elementId)/*-{
        var element = $doc.getElementById(elementId);
        if ( element )
            element.onchange();
    }-*/;
    
    12.05.2017
    Новые материалы

    Введение в контекст React
    В этом посте мы поговорим о Context API, который был представлен в React 16, и о том, как вы можете их использовать. Что такое контекст? Глядя на определение из react docs , оно..

    Шлюз с лицензией OSS, совместимый с Apollo Federation v2, появится в WunderGraph
    Сегодня мы рады сообщить, что мы сотрудничаем с поддерживаемой YC Tailor Technologies, Inc. для внедрения Apollo Federation v2. Реализация будет лицензирована MIT (Engine) и Apache 2.0..

    Это оно
    Ну, я официально уволился с работы! На этой неделе я буду лихорадочно выполнять последние требования Думающего , чтобы я мог сосредоточиться на поиске работы. Что именно это значит?..

    7 полезных библиотек JavaScript, которые вы должны использовать в своем следующем проекте
    Усильте свою разработку JavaScript Есть поговорка «Не нужно изобретать велосипед». Библиотеки — лучший тому пример. Это поможет вам написать сложные и трудоемкие функции простым способом...

    Базовое руководство по переносу концепций обучения в глубокое обучение
    Обзор По мере того, как машинное обучение становится все более мощным и продвинутым, модели, обеспечивающие эту расширенную возможность, становятся все больше и начинают требовать огромного..

    C в C.R.U.D с использованием React-Redux
    Если вы использовали React, возможно, вы знакомы с головной болью, связанной с обратным потоком данных. Передача состояния реквизитам от родительских компонентов к дочерним компонентам может..

    5 обязательных элементов современного инструмента конвейера данных
    В цифровом мире предприятия используют конвейеры данных для перемещения, преобразования и хранения огромных объемов данных. Эти конвейеры составляют основу бизнес-аналитики и играют..