Vaadin-combo-box: рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛

рдХреЛ рдирд┐рд░реНрдорд┐рдд 22 рдЬреБрд▓ре░ 2019  ┬╖  6рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ  ┬╖  рд╕реНрд░реЛрдд: vaadin/vaadin-combo-box

рд╡рд┐рд╡рд░рдг


рдЬрдм рдПрдХ vaadin-combo-box рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ рдФрд░ vaadin-combo-box рдЪрдпрдирд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рднреА рдЪреБрди рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рднреАрддрд░ vaadin-text-field рдЕрдорд╛рдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рдХрд╛ рдЪрдпрди рд░рджреНрдж vaadin-combo-box ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдЧрд░ рдЗрд╕ рдмреАрдЪ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣рдЯрд╛ рджреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдЖрдВрддрд░рд┐рдХ vaadin-text-field рдЕрднреА рднреА рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред

рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо


vaadin-combo-box рдкрд░ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ (рдпрд╛ рдХрдо рд╕реЗ рдХрдо рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рд╢реЗрд╖рддрд╛) рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд vaadin-text-field рдкреБрди: рд╕рддреНрдпрд╛рдкрди рдХреЛ рдЯреНрд░рд┐рдЧрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкрд░рд┐рдгрд╛рдо


vaadin-text-field рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдлрдВрд╕ рдЧрдпрд╛ рд╣реИред рдЗрд╕ рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг рдлрд╝реЙрд░реНрдо рд╕рдмрдорд┐рдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛.

рд▓рд╛рдЗрд╡ рдбреЗрдореЛ


https://ring-umbra.glitch.me

рдкреНрд░рдЬрдирди рдХреЗ рдЪрд░рдг

  1. рдбреЗрдореЛ рдЦреЛрд▓реЗрдВ
  2. vaadin-combo-box рдореЗрдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред рд╡рд┐рдХрд▓реНрдк рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрдВрдЧреЗ, рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рдЖрдЗрдЯрдо рдХрд╛ рдЪрдпрди рди рдХрд░реЗрдВ (рд╕рдлреЗрдж рд╕реНрдерд╛рди рдореЗрдВ рдХрд╣реАрдВ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ)
  3. рдлрд╝реАрд▓реНрдб рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдЪреЗрдХ рдХрд░реЗрдВред
  4. рдЪрд░рдг 2 рджреЛрд╣рд░рд╛рдПрдВ, vaadin-combo-box рдХрд╛ рд░рдВрдЧ рд▓рд╛рд▓ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИред
  5. рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдЕрдирдЪреЗрдХ рдХрд░реЗрдВ, рдлрд╝реАрд▓реНрдб рдХреА рдЕрдм рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ
  6. рдЪрд░рдг 2 рджреЛрд╣рд░рд╛рдПрдВ, vaadin-combo-box рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд░рд╣реЗрдЧрд╛
  7. vaadin-combo-box рдореЗрдВ рдХреБрдЫ рдЪреБрдиреЗрдВ
  8. vaadin-combo-box рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реНрдкрд╖реНрдЯ рдмрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: vaadin-combo-box рдЕрднреА рднреА рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдм рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

vaadin-combo-box рдкрд░ рдЕрдорд╛рдиреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЛ рдмрджрд▓рдиреЗ рд╕реЗ рднреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдорд╛рди рдЖрдВрддрд░рд┐рдХ vaadin-text-field рдореЗрдВ рдкрд░рд┐рд▓рдХреНрд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред

рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкреНрд░рднрд╛рд╡рд┐рдд

  • [рдПрдХреНрд╕] рдХреНрд░реЛрдо
  • [рдПрдХреНрд╕] рдлрд╛рдпрд░рдлреЙрдХреНрд╕
  • [ ] рд╕рдлрд╛рд░реА
  • [рдПрдХреНрд╕] рдПрдЬ
  • [рдПрдХреНрд╕] рдЖрдИрдИ 11
  • [] рдЖрдИрдУрдПрд╕ рд╕рдлрд╛рд░реА
  • [] рдПрдВрдбреНрд░реЙрдЗрдб рдХреНрд░реЛрдо

_рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЕрдиреНрдп рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рднреА рдпрд╣реА рд╕рдорд╕реНрдпрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореИрдВ рдЙрдирдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рдирд╣реАрдВ рдерд╛_

рд╕рднреА 6 рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ

рдпрд╣ рдЗрд╕рдХреЗ рдмрдЬрд╛рдп vaadin-text-field рдореЗрдВ рдПрдХ рдмрдЧ рдкреНрд░рддреАрдд рд╣реЛрддрд╛ рд╣реИред vaadin-combo-box рдмрд╕ required рдФрд░ invalid рдЧреБрдгреЛрдВ рдХреЛ рдЖрдВрддрд░рд┐рдХ vaadin-text-field рд╕рд╛рде рд╕рд┐рдВрдХ рдХрд░рддрд╛ рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ required рд╕реНрдерд┐рддрд┐ (рдпрд╛ рдЕрдиреНрдп рд╕рддреНрдпрд╛рдкрди рдмрд╛рдзрд╛рдУрдВ) рдХреЛ рдмрджрд▓рдиреЗ рдкрд░ рдШрдЯрдХ рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рд╕рддреНрдпрд╛рдкрди required , pattern , maxlength рдФрд░ minlength ред рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕реЗрдЯ рд╣реИ, рддреЛ рдпрд╣ рдореВрд▓ <input> рдкрд░ checkValidity() рдХреЗ рд╡рд╛рдкрд╕реА рдореВрд▓реНрдп рдХреЗ рдЖрдзрд╛рд░ рдкрд░ invalid рдмреВрд▓рд┐рдпрди рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдЙрдирдореЗрдВ рд╕реЗ рдХреЛрдИ рднреА рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЕрднреА рднреА рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ invalid рд╕реЗ true рдпрд╛ false рдХреЛ рдЕрдкрдиреЗ рддрд░реНрдХ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ vaadin-text-field рдЕрдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдХреЛ рд╡реИрд╕реЗ рд╣реА рд░рдЦрддрд╛ рд╣реИ рдЬреИрд╕реЗ рдпрд╣ рд╣реИ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ред

рд╕рдорд╕реНрдпрд╛ рдпрд╣ рдкреНрд░рддреАрдд рд╣реЛрддреА рд╣реИ рдХрд┐ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рдЙрди рд╕рддреНрдпрд╛рдкрди рдмрд╛рдзрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП required ) рдФрд░ рдлрд╝реАрд▓реНрдб рдХреЛ рдорд╛рдиреНрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдФрд░ рдЕрдорд╛рдиреНрдп рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЖрдк рдмрд╛рдзрд╛ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ checkValidity() рдирд╣реАрдВ рдЪрд▓рддрд╛ рд╣реИ invalid рд╕реНрдерд┐рддрд┐ рд░рдЦрддрд╛ рд╣реИ (рдЬреИрд╕реЗ рдХрд┐ рдЗрд╕реЗ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рдерд╛)ред рдореВрд▓ рд░реВрдк рд╕реЗ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдХрднреА рднреА invalid рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╣реАрдВ рд╣рдЯрд╛рддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╕рдХреНрд░рд┐рдп рд╕рддреНрдпрд╛рдкрди рдмрд╛рдзрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣рд╛рдВ рдЙрдЪрд┐рдд рддрд░реНрдХ рдпрд╣ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ рдХрд┐ рдЬрдм рдХреЛрдИ required , pattern , maxlength рдпрд╛ minlength рдмрд╛рдзрд╛рдУрдВ рдХреЛ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ _and_ invalid == true рдкрд╣рд▓реЗ рд╕реЗ рд╣реА, рдлрд┐рд░ this.invalid = this.inputElement.checkValidity();

рдЗрд╕реЗ рдХреЗрд╡рд▓ vaadin-text-field рд╕рд╛рде рдкреБрди: рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

<vaadin-text-field required="{{tfRequired}}"></vaadin-text-field><br>
<label>Required <input type="checkbox" checked="{{tfRequired::change}}"></label>
  1. рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ (рдкрд╛рда рдлрд╝реАрд▓реНрдб рдХреЛ рдЖрд╡рд╢реНрдпрдХ рдмрдирд╛рддрд╛ рд╣реИ)
  2. рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдкрд░ рдлрд╝реЛрдХрд╕ рдХрд░реЗрдВ рдФрд░ рдлрд╝реЛрдХрд╕ рдХрд░реЗрдВ (рдЗрд╕реЗ рдЕрдорд╛рдиреНрдп рдмрдирд╛ рджреЗрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрднреА рднреА рдЦрд╛рд▓реА рд╣реИ)
  3. рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреЛ рдЯреЙрдЧрд▓ рдХрд░реЗрдВ (рдкрд╛рда рдлрд╝реАрд▓реНрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ)
  4. рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдореЗрдВ рдХреБрдЫ рд▓рд┐рдЦреЗрдВ рдФрд░ рдЙрд╕реЗ рдлрд╝реЛрдХрд╕ рдХрд░реЗрдВ, рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рдЕрднреА рднреА рдЕрдорд╛рдиреНрдп рдХреЗ рд░реВрдк рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдпрд╣рд╛рдВ рдПрдХ рдореБрджреНрджрд╛ рдЦреЛрд▓рд╛ рд╣реИ https://github.com/vaadin/vaadin-text-field/issues/400 рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдХреЛрдИ рдФрд░ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдХреЗ рд╕рд╛рде рдЗрд╕ рдореБрджреНрджреЗ рдХреЛ рдиреЛрдЯрд┐рд╕ рдХрд░рддрд╛ рд╣реИ рддреЛ рдореИрдВ рдмреЗрд╣рддрд░ рджреГрд╢реНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдХреЙрдореНрдмреЛ рдмреЙрдХреНрд╕ рдореБрджреНрджреЗ рдХреЛ рдпрд╣рд╛рдВ рдЫреЛрдбрд╝ рджреВрдВрдЧрд╛ред рдЙрдкрд░реЛрдХреНрдд рдЯреЗрдХреНрд╕реНрдЯ рдлрд╝реАрд▓реНрдб рд╕рдорд╕реНрдпрд╛ рдХреЗ рдареАрдХ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж рдЗрд╕реЗ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдпрд╣ рд╕реБрдзрд╛рд░ vaadin-text-field v2.3.9 рдФрд░ v2.4.10 рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ рдХрд┐ рдпрд╣ рдЕрднреА рдЕрдкреЗрдХреНрд╖рд┐рдд рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИред рдЕрдЪреНрдЫрд╛ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж, @Haprog! рдореИрдВ

рдмреАрдЯреАрдбрдмреНрд▓реНрдпреВред afaik vaadin-text-field v2.3.9 рдФрд░ v2.4.10 рдХреЗ рд▓рд┐рдП WebJars рдЯреВрдЯ рдЧрдП рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдХреЛ рдЬрд╛рд╡рд╛ рд╕реЗ рдЗрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рд╕рдВрдЧрддрддрд╛ рдореЛрдб рдореЗрдВ Vaadin 10тАУ13 рдпрд╛ Vaadin 14) рддреЛ рдЖрдкрдХреЛ рдереЛрдбрд╝рд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд╡реЗрдмрдЬрд╛рд░ рдХреЗ рд╕рд╛рде рдЬрд▓реНрдж рд╣реА v2.3.10 рдФрд░ v2.4.11 рдЬрд╛рд░реА рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред

рдХреНрдпрд╛ рдпрд╣ рдкреГрд╖реНрда рдЙрдкрдпреЛрдЧреА рдерд╛?
0 / 5 - 0 рд░реЗрдЯрд┐рдВрдЧреНрд╕