2016-08-05 2 views
0

GwtBootstrap3 0.9.3에서 작업 중이며 my에 위젯을 사용하여 UiBinder를 사용하지 않았습니다. org.gwtbootstrap3.client.ui.CheckBox 클래스의 체크 박스와 org.gwtbootstrap3.client.ui.Button의 버튼이 올바르게 작동하고 있습니다. ClickEvents를 클릭하면 실행됩니다.Select and MultipleSelect 이벤트를 실행하지 않음

하지만 org.gwtbootstrap3.extras.select.client.ui.MultipleSelect 및 org.gwtbootstrap3.extras.select.client.ui.Select 클래스를 선택하면 이벤트를 발생시키지 않습니다. 선택 항목을 만들거나 변경할 때 com.google.gwt.event.logical.shared.ValueChangeEvent를 발생시켜야합니까?

eventhandlers은 다음과 같이 찾고 있습니다 : 나는이 widges 클릭하면

@UiHandler("simpleSelect") 
void onValueChangeSimple(ValueChangeEvent<String> event) { 
    do.somethingSimple(); 
} 

@UiHandler("multiSelect") 
void onValueChangeMultiple(ValueChangeEvent<List<String>> event) { 
    do.somethingMultiple(); 
} 

ValueChangeEvent이 발사되지 않습니다. 내가

simpleSelect.setValue("Item 1" , true); 

같은 프로그램 값을 설정할 때

는 그러나 ValueChangeEvent 해고되고 do.somethinSimple()가 호출됩니다.

무엇이 잘못 되었나요? 이러한 선택 위젯이 UI를 사용하여 ValueChangeEvents를 실행하도록하려면 어떻게해야합니까?

답변

0

GwtBootstrap3Extras 0.9.3 + GWT 2.7 + SuperDevMode를 사용하여 다음 구현을 테스트했습니다. * 표시를하며 .gwt.xml에서

상속 : <inherits name="org.gwtbootstrap3.extras.select.Select"/>

* 네임 스페이스 xmlns:select="urn:import:org.gwtbootstrap3.extras.select.client.ui와 .ui.xml :

<select:Select ui:field="simpleSelect"> 
    <select:Option>A</select:Option> 
    <select:Option>B</select:Option> 
    <select:Option>C</select:Option> 
</select:Select> 
<select:MultipleSelect ui:field="multiSelect"> 
    <select:Option>A</select:Option> 
    <select:Option>B</select:Option> 
    <select:Option>C</select:Option> 
</select:MultipleSelect> 

ViewImplementation :

@UiField 
Select simpleSelect; 

@UiField 
MultipleSelect multiSelect; 

@UiHandler("simpleSelect") 
void onValueChangeSimple(ValueChangeEvent<String> event) { 
    GWT.log("single changed"); 
} 

@UiHandler("multiSelect") 
void onValueChangeMultiple(ValueChangeEvent<List<String>> event) { 
    GWT.log("multi changed"); 
} 

이 잘 작동된다. 선택 또는 다중 선택에서 옵션을 선택할 때마다 메시지가 브라우저 콘솔에 기록됩니다. 프로젝트를 구성 할 때와 동일한 방식으로 작동해야합니다. 그렇지 않으면 또 다른 문제가 있습니다. 그런 다음 UiField 정의, * ui.xml 등을 게시해야합니다.

+0

답장을 보내 주셔서 감사합니다. 내 코드는 귀하의 코드와 매우 유사합니다. 주목할 점은 선택 항목을 특성으로 선언한다는 것입니다. 가됩니다. 선택 항목은 FlowPanels 내부에도 있습니다. 하지만 여전히 작동하지 않습니다. JDK 8 및 Spring Boot를 사용하여 컴파일 및 실행됩니다. –

+0

My * .ui.xml은 다음과 같습니다.

+0

속성'