Vaadin-combo-box: μž…λ ₯ ν”„λ‘¬ν”„νŠΈ 내뢀에 일뢀 값이 μžˆλŠ” 콀보 μƒμžκ°€ 흐렀지면 슀크둀 λ§‰λŒ€κ°€ ν‘œμ‹œλ©λ‹ˆλ‹€.

에 λ§Œλ“  2018λ…„ 12μ›” 11일  Β·  18μ½”λ©˜νŠΈ  Β·  좜처: vaadin/vaadin-combo-box

버전 : 10.0.9
(12.0.2μ—μ„œ μž‘λ™)
콀보 μƒμžμ—μ„œ λΈ”λŸ¬λ§ 이벀트(μž…λ ₯ ν”„λ‘¬ν”„νŠΈ 내뢀에 일뢀 κ°’ 포함)κ°€ λ°œμƒν•˜λ©΄ κ°€λ‘œ 및 μ„Έλ‘œ 슀크둀 λ§‰λŒ€κ°€ λͺ¨λ‘ 1초 λ™μ•ˆ ν‘œμ‹œλ©λ‹ˆλ‹€.

λΉ„λ””μ˜€κ°€ 문제λ₯Ό 더 잘 μ„€λͺ…ν•˜κΈ°λ₯Ό λ°”λžλ‹ˆλ‹€.

comboboxjumps

bug flow

λͺ¨λ“  18 λŒ“κΈ€

이것은 λ ˆμ΄μ•„μ›ƒ 문제/μŠ€νƒ€μΌ 문제/ν΄λΌμ΄μ–ΈνŠΈ μΈ‘ 문제(λ˜λŠ” μ΄λ“€μ˜ μ‘°ν•©)일 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμ œκ°€ μ •ν™•νžˆ 어디에 μžˆλŠ”μ§€ μ΄ν•΄ν•˜κΈ° μœ„ν•΄ μž¬ν˜„ν•˜λŠ” 데 μ‚¬μš©ν•  수 μžˆλŠ” μ†ŒμŠ€ μ½”λ“œλ₯Ό μ œκ³΅ν•˜μ‹­μ‹œμ˜€.
μ„œλ²„ μΈ‘μ—μ„œ combo-box ꡬ성 μš”μ†Œμ— 아무것도 μΆ”κ°€ν•˜μ§€ μ•ŠλŠ”λ‹€κ³  ν™•μ‹ ν•˜κΈ° λ•Œλ¬Έμ— 이것이 μˆœμˆ˜ν•œ 콀보 μƒμž λ¬Έμ œμΈμ§€ μ˜μ‹¬λ©λ‹ˆλ‹€. 여기에 λ‹€λ₯Έ 것이 ν¬ν•¨λ˜μ–΄μ•Ό ν•©λ‹ˆλ‹€.

μ†ŒμŠ€ μ½”λ“œλ₯Ό 기닀리고 μžˆμŠ΅λ‹ˆλ‹€.

μ£„μ†‘ν•©λ‹ˆλ‹€. 여기에 μΆ”κ°€ν•˜λŠ” 것을 μžŠμ—ˆμŠ΅λ‹ˆλ‹€.
```
μ΅œμ’… 콀보 μƒμžμ½€λ³΄ μƒμž = μƒˆλ‘œμš΄ 콀보 μƒμž<>("Farbauswahl");

    ArrayList<String> items=new ArrayList<>(Arrays.asList("rot", "grΓΌn", "gelb", "blau"));
    combobox.setItems(items);

    Button button = new Button("Click me",
            event -> Notification.show("Clicked!" + combobox.getValue()));

    add(combobox);
    add(button);

```

ν•˜λ‚˜μ˜ λ³΄κ³ μ„œμ— μ™„μ „νžˆ λ‹€λ₯Έ 두 가지 λ¬Έμ œκ°€ μžˆλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

λ‹€μŒμ€ μž¬ν˜„ν•˜λŠ” 데 μ‚¬μš©ν•˜λŠ” 전체 μ†ŒμŠ€ μ½”λ“œμž…λ‹ˆλ‹€.

@Route("input-combo")
public class InputComboBoxPage extends Div {

    public InputComboBoxPage() {
        final ComboBox<String> combobox = new ComboBox<>("Farbauswahl");

        ArrayList<String> items = new ArrayList<>(
                Arrays.asList("rot", "grΓΌn", "gelb", "blau"));
        combobox.setItems(items);

        NativeButton button = new NativeButton("Click me",
                event -> System.out.println("xxx"));

        add(combobox);
        add(button);
    }
}

(이 μ½”λ“œλŠ” κ·ΈλŒ€λ‘œ λ³΅μ‚¬ν•˜μ—¬ ν…ŒμŠ€νŠΈ 인프라에 λΆ™μ—¬λ„£λŠ” 데 μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.)

λ‚΄κ°€ λ³΄λŠ” 것:

  • λ³΄μ΄λŠ” μŠ€ν¬λ‘€λ°”κ°€ μ—†μŠ΅λ‹ˆλ‹€.
  • 콀보 μƒμžμ— 무언가λ₯Ό μ“Έ λ•Œ λ²„νŠΌμ΄ ν΄λ¦­λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 클릭할 수 있으렀면 μ΄ˆμ μ„ λ‹€λ₯Έ κ²ƒμœΌλ‘œ μ „ν™˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

λ”°λΌμ„œ _IF_ 이 λ¬Έμ œλŠ” μŠ€ν¬λ‘€λ°”μ— κ΄€ν•œ κ²ƒμ΄λ―€λ‘œ μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
μ•žμ—μ„œ λ§ν–ˆλ“―μ΄ 이것은 콀보 μƒμžμ— λŒ€ν•œ 일뢀 λ ˆμ΄μ•„μ›ƒμ΄λ‚˜ μŠ€νƒ€μΌμ„ μ‚¬μš©ν•œ κ²°κ³Όμ—¬μ•Ό ν•©λ‹ˆλ‹€. 콀보 μƒμžμ— μ‚¬μš©ν•˜λŠ” μ»¨ν…Œμ΄λ„ˆκ°€ μ€‘μš”ν•©λ‹ˆλ‹€. Div ν•˜κ³  μžˆλŠ”λ° μŠ€ν¬λ‘€λ°”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

_IF_ λ¬Έμ œλŠ” 클릭할 수 μ—†λ‹€λŠ” 것인데 이것이 λ¬Έμ œμΈμ§€ μ „ν˜€ λͺ¨λ₯΄κ² μŠ΅λ‹ˆλ‹€(μ½€λ³΄λ°•μŠ€κ°€ μž‘λ™ν•˜λŠ” 방식일 수 있음). κ·ΈλŸ¬λ‚˜ 그것은 ν™•μ‹€νžˆ 문제둜 제좜될 수 μžˆμŠ΅λ‹ˆλ‹€.

λ”°λΌμ„œ 이 티켓은 μ„€λͺ…이 ν•„μš”ν•©λ‹ˆλ‹€. μŠ€ν¬λ‘€λ°”λŠ” 클릭 λΆˆκ°€μ™€ μ™„μ „νžˆ λ…λ¦½μ μž…λ‹ˆλ‹€. 클릭 λ¬Έμ œλŠ” λ³„λ„λ‘œ 생성될 수 μžˆμŠ΅λ‹ˆλ‹€.
이 λ¬Έμ œλŠ” μŠ€ν¬λ‘€λ°”μ— κ΄€ν•œ κ²ƒμ΄κ±°λ‚˜ _only_λ₯Ό ν΄λ¦­ν•˜λŠ” 것이어야 ν•©λ‹ˆλ‹€.
μŠ€ν¬λ‘€λ°”μ˜ 경우 그것을 μž¬ν˜„ν•  수 μžˆλŠ” μ •ν™•ν•œ μžλ°” μ½”λ“œκ°€ μžˆμ–΄μ•Ό ν•©λ‹ˆλ‹€. λ‚΄ μ½”λ“œλ‘œ μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

κ·€ν•˜μ˜ μ½”λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ 문제λ₯Ό μž¬ν˜„ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

콀보 μƒμžμ— 값을 μž…λ ₯ν•œ λ‹€μŒ μ™ΈλΆ€λ₯Ό ν΄λ¦­ν•˜κ³  μžˆμŠ΅λ‹ˆκΉŒ? μ™ΈλΆ€λ₯Ό ν΄λ¦­ν•˜κ³  μž…λ ₯ 문제 내뢀에 아무것도 μž…λ ₯ν•˜μ§€ μ•ŠμœΌλ©΄ 문제λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ xxx λ₯Ό μž…λ ₯ν•˜κ³  ν΄λ¦­ν•©λ‹ˆλ‹€. 그러면 μŠ€ν¬λ‘€λ°”κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

μ„€λͺ…이 λ„ˆλ¬΄ λͺ¨ν˜Έν–ˆλ‹€λ©΄ μ£„μ†‘ν•©λ‹ˆλ‹€. 이 νŠΉλ³„ν•œ κ²½μš°μ—λŠ” λ‹€λ₯Έ 문제의 κ·Όλ³Έ 사둀일 수 μžˆλ‹€κ³  μƒκ°ν•˜κΈ° λ•Œλ¬Έμ— Scrollbars에 관심이 μžˆμŠ΅λ‹ˆλ‹€. (λ°œμ‚¬λ˜μ§€ μ•Šμ€ λ²„νŠΌμ΄ 클릭된 것과 κ°™μŠ΅λ‹ˆλ‹€.) κ·ΈλŸ¬λ‚˜ μ‹€μ œλ‘œ λ¬Έμ œλŠ” μŠ€ν¬λ‘€λ°”μž…λ‹ˆλ‹€.

예, 콀보 μƒμž ν…μŠ€νŠΈ ν•„λ“œμ— 일뢀 ν…μŠ€νŠΈλ₯Ό μž‘μ„±ν–ˆμŠ΅λ‹ˆλ‹€.

μ•Œκ² μŠ΅λ‹ˆλ‹€. λΆˆνŽΈμ„ λ“œλ € μ£„μ†‘ν•©λ‹ˆλ‹€. 이전에 11둜 ν…ŒμŠ€νŠΈν–ˆμ§€λ§Œ κ·€ν•˜μ˜ κ²½μš°μ™€ λ‚΄ 경우 λͺ¨λ‘ V12μ—μ„œ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

vaadin-combo-box-flow λŒ€ν•΄ 1.0-SNAPSHOT 버전을 μ‚¬μš© μ€‘μž…λ‹ˆλ‹€. μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

μ •ν™•νžˆ μ–΄λ–€ 버전을 μ‚¬μš©ν•©λ‹ˆκΉŒ?

μ–΄λ–»κ²Œ 확인할 수 μžˆλ‚˜μš”?

λ”°λ‘œ 버전을 μ§€μ •ν•˜λŠ” 것이 μ•„λ‹ˆλΌ ν”Œλ‘œμš° λ²„μ „μ—μ„œ λ”°μ˜¨ 것 κ°™μ•„μš”. (κΈ°λ³Έ ν”„λ‘œμ νŠΈ κΈ°λ³Έ μŠ€νƒ€ν„° μ‚¬μš©)

Flow 버전이 아닐 수 μžˆμŠ΅λ‹ˆλ‹€. FlowλŠ” λ‚΄μž₯ HTML ꡬ성 μš”μ†Œλ₯Ό μ œμ™Έν•˜κ³ λŠ” ꡬ성 μš”μ†Œλ₯Ό μ•Œμ§€ λͺ»ν•©λ‹ˆλ‹€.

ν”Œλž«νΌ λ²„μ „μž…λ‹ˆλ‹€.
pom.xml ν”Œλž«νΌμ— μ§€μ •λœ ꡬ성 μš”μ†Œ 버전을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.
λ‹€λ₯Έ 방법: ν”„λ‘œμ νŠΈμ—μ„œ jar 쒅속성을 ν™•μΈν•˜μ‹­μ‹œμ˜€. λͺ¨λ“  ν•­μ•„λ¦¬μ—λŠ” 버전이 μžˆμŠ΅λ‹ˆλ‹€.

μ•„λ‹ˆλ©΄ ν”Œλž«νΌ 버전을 μ•Œλ €μ£Όμ„Έμš”. 이 버전은 μ œκ°€ 직접 찾을 κ²ƒμž…λ‹ˆλ‹€.

1.0.7

λ˜ν•œ ν”Œλž«νΌ 버전이 pom에 <vaadin.version>10.0.9</vaadin.version> μ•„λ‹Œκ°€μš”? μ•„λ‹ˆλ©΄ λ‚΄κ°€ λ­”κ°€λ₯Ό λ†“μΉ˜κ³  μžˆμŠ΅λ‹ˆκΉŒ?

<vaadin.version>10.0.9</vaadin.version> λŠ” ν”Œλž«νΌ λ²„μ „μ²˜λŸΌ λ³΄μž…λ‹ˆλ‹€.

μž¬μƒμ‚°ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” https://github.com/vaadin/skeleton-starter-flow/tree/v10을 μ‚¬μš©ν–ˆμŠ΅λ‹ˆλ‹€

MainView μ½˜ν…μΈ κ°€ λ‹€μŒμœΌλ‘œ 섀정됨

final ComboBox<String> combobox = new ComboBox<>("Farbauswahl");

        ArrayList<String> items = new ArrayList<>(
                Arrays.asList("rot", "grΓΌn", "gelb", "blau"));
        combobox.setItems(items);

        NativeButton button = new NativeButton("Click me",
                event -> System.out.println("xxx"));

        add(combobox);
        add(button);

μŠ€ν¬λ‘€λ°”κ°€ μ—†μŠ΅λ‹ˆλ‹€.

skeleton-starter λ₯Ό μ‚¬μš©ν•˜μ—¬ 문제λ₯Ό μž¬ν˜„ν•˜μ‹­μ‹œμ˜€. μž¬ν˜„ν•  수 μžˆλ‹€λ©΄ ν”„λ‘œμ νŠΈλ₯Ό μ•„μΉ΄μ΄λΈŒν•˜κ³  μ΄μŠˆμ— μ²¨λΆ€ν•˜μ‹­μ‹œμ˜€(μ•„μΉ΄μ΄λΈŒμ—μ„œ target 폴더λ₯Ό μ œκ±°ν•˜λŠ” 것을 μžŠμ§€ λ§ˆμ‹­μ‹œμ˜€).

ν…ŒμŠ€νŠΈμ— μ‚¬μš©λ˜λŠ” λ‚΄ ν”„λ‘œμ νŠΈ 첨뢀
ν”„λ‘œμ νŠΈλ² μ΄μŠ€ .zip

μ²¨λΆ€λœ ν”„λ‘œμ νŠΈλ‘œ 이 문제λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

λ‚˜λŠ” 그것이 ꡬ성 차이의 κ²°κ³Ό 일 수 μžˆλ‹€κ³  κ°€μ •ν•©λ‹ˆλ‹€.
이것은 λͺ¨λ“  것이 μ—¬κΈ°μ„œ μ€‘μš”ν•˜λ‹€λŠ” 것을 μ˜λ―Έν•©λ‹ˆλ‹€.

μ–΄λ–€ λΈŒλΌμš°μ €λ₯Ό μ‚¬μš©ν•©λ‹ˆκΉŒ? (이름 + 버전)
μ–΄λ–€ OSλ₯Ό μ‚¬μš©ν•©λ‹ˆκΉŒ?

이것에 더 λ§Žμ€ μ‹œκ°„μ„ ν• μ• ν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. 정보λ₯Ό μ œκ³΅ν•˜κ³  이 λ¬Έμ œμ— λŒ€ν•΄ μž‘μ—…ν•  κ°œλ°œμžκ°€ 이 정보λ₯Ό μ‚¬μš©ν•  κ²ƒμž…λ‹ˆλ‹€.

ꡬ글 크둬 | 70.0.3538.110
운영 체제: μœˆλ„μš° 10

λΉ„ν™œμ„± μƒνƒœλ‘œ μ’…λ£Œν•˜κ³  μœ„μ˜ μ˜κ²¬μ—μ„œ μ–ΈκΈ‰ν•œ 문제λ₯Ό μž¬ν˜„ν•  수 μ—†μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰