λΌμ΄λΈλ¬λ¦¬μ 콀보 μμ κ΅¬μ± μμλ₯Ό μΆκ°ν©λλ€.
μ°λ¦¬λ λ§μ λ°μ΄ν°λ₯Ό λ€λ£¨κ³ μμ΅λλ€. μ°λ¦¬μ dt-selectλ μ€μ λ‘ λ§μ μ΅μ
μΈνΈμ ν¨κ» μλνμ§ μμ΅λλ€. dt-selectμ κ²μ κΈ°λ₯μ κΈ°λ³Έ μ νκ³Ό λμΌν©λλ€. λ°λΌμ μ¬μ©μλ μ¬μ©μκ° λλ₯Έ ν€μμ μμνλ μ΅μ
μΌλ‘λ§ μ΄λν μ μμ΅λλ€.
μ΄λ λκ·λͺ¨ λ°μ΄ν° μΈνΈκ° μλ μ¬μ© μ¬λ‘μμ μ€μ λ‘ μ νμ μ
λλ€.
dt-autocompleteκ° μ°κ²°λ μ
λ ₯μμ ꡬμ±ν μ μλ 콀보 μμ κ΅¬μ± μμκ° λμμ΄ λ μ μμ΅λλ€.
μ
λ ₯μ μ리 νμμ ν
μ€νΈλ₯Ό νμν΄μΌ ν©λλ€.
콀보 μμλ dt-selectμ λμΌν μ€νμΌμ μ¬μ©ν΄μΌ ν©λλ€.
λλ‘λ€μ΄μ ν΄λ¦νλ©΄ μ¬μ©μκ° μ νν μ μλ μ¬λ¬ νλͺ© λͺ©λ‘μ΄ μ΄λ¦¬κ³ 컀μκ° μ λ ₯ νλμ λμ λλ€. μ¬μ©μκ° μ λ ₯μ μμνμλ§μ 콀보 μμλ λλ°μ΄μ€λ μ΄λ²€νΈλ₯Ό λ΄λ³΄λ΄κ³ νν° νλμ μ΄λ―Έ μλ κ²κ³Ό μ μ¬ν μ λ ₯ λ΄λΆμ λ‘λ© νμκΈ°λ₯Ό νμν΄μΌ ν©λλ€.
νλͺ©μ΄ μ νλλ©΄ λλ‘λ€μ΄μ΄ λ«νκ³ κ·Έμ λ°λΌ μ λ ₯ νλκ° μ λ°μ΄νΈλ©λλ€.
콀보 μμμ 첫 λ²μ§Έ λ²μ μ κ²½μ° κ°μ μ€ν¬λ‘€μ λν΄ κ±±μ νμ§ μλ κ²μ΄ μ’μ΅λλ€. μλ² μΈ‘μμ νλͺ© νν°λ§μ΄ μνλ κ²μΌλ‘ μμν μ μμ΅λλ€. ν΄λΌμ΄μΈνΈμ μ±μμ§ νλͺ©μ λ λλ§ν μ μμ΅λλ€. λ λ²μ§Έ λ²μ μμ λκ·λͺ¨ λ°μ΄ν° μΈνΈμ μ²λ¦¬λ₯Ό κ°μ ν μ μμ΅λλ€.
첫 λ²μ§Έ λ²μ μ κ²½μ° dt-autocompleteλ₯Ό μ¬μ©νλ κ²μ΄ μ’μ§λ§ λ°μ΄ν° λͺ©λ‘μΌλ‘ λ¨μνλ λλ‘λ€μ΄μ λ§λλ κ²μ κ³ λ €ν΄μΌ ν©λλ€.
μ κ·Όμ± μ°Έμ‘° λ‘ λͺ©λ‘ μμ νμ μ΄ μλ WAI-ARIA 콀보 μμ μ λͺ¨λ² μ¬λ‘ κΆμ₯ μ¬νμ κ³ λ €νμμμ€.
API μ μ 콀보λ°μ€
κ³ κΈ κ΅¬μ‘°
<dt-combobox [value]="initialValue" (valueChanges)="fn($event)" (filterChanges)="fn($event)" [placeholder]="'Type here for filter'">
<dt-option *ngFor="let option of options">{{ option.value }} </dt-option>
</dt-combobox>
μ λ ₯
| μ΄λ¦ | μ ν | μ€λͺ
|
| -------------- | -------------- | -------------- |
| value
| string \| undefined
| μ
λ ₯μ μ΄κΈ°κ° |
| placeholder
| string \| undefined
| μ
λ ₯μ λν μ리 νμμ |
μΆλ ₯
| μ΄λ¦ | μ ν | μ€λͺ
|
| -------------- | -------------- | -------------- |
| valueChanges
| EventEmitter<string>
| μ κ°μ΄ μ νλμμ λ λ°μνλ μ΄λ²€νΈ |
| filterChanges
| EventEmitter<string>
| νν°κ° λ³κ²½λ λ λ°μνλ μ΄λ²€νΈ |
μ½ν
μΈ νλ‘μ μ
dt-μ΅μ
dt-optgroup
체ν¬λ¦¬μ€νΈ
@lukett89λ , API μ μ κ°μ¬ν©λλ€. μ λ§ νλ₯ν μΆλ°μ μ
λλ€.
dt-select
μμμ λμΌν μ
λ ₯μ΄ νμνλ€κ³ μκ°ν©λλ€.
λλ μΆκ°ν κ²μ΄λ€
| μ΄λ¦ | μ ν | μ€λͺ
|
| -------------- | -------------- | -------------- |
| id
| string
| μ ν ID |
| compareWith
| (v1: T, v2: T) => boolean
| μ΅μ
κ°κ³Ό μ νν κ°μ λΉκ΅νλ κΈ°λ₯ |
| required
| boolean
| μ
λ ₯μ΄ νμνμ§ μ¬λΆ |
| panelClass
| string
| 콀보 μμ λλ‘λ€μ΄μ μΆκ°λ ν΄λμ€ |
"opened"μ κ°μ μ΄λ¦° μνμ λν getter λ° ν΄λΉ μνκ° λ³κ²½λ λ μΆλ ₯μ μΆκ°νλ κ²λ κ³ λ €ν΄μΌ ν©λλ€.
μ νμ κ°μ₯ κ°κΉμ΄ APIλ₯Ό μ¬μ©νμ¬ κ°λ₯ν ν μ½κ² λ μ€ νλλ₯Ό μ νν μ μλ€λ©΄ λμμ΄ λ κ²μ΄λΌκ³ μκ°ν©λλ€.
@ffriedl89 λ΅λ³ κ°μ¬ν©λλ€.
κ΅¬μ± μμμ 첫 λ²μ§Έ λ²μ μ λν΄ μΈκΈν λͺ¨λ μ
λ ₯/μΆλ ₯μ κ³ λ €ν κ²μ
λλ€.
μ΅μ’
API μ μ 콀보λ°μ€
κ³ κΈ κ΅¬μ‘°
<dt-combobox [value]="initialValue" (valueChanges)="fn($event)" (filterChanges)="fn($event)" [placeholder]="'Type here for filter'">
<dt-option *ngFor="let option of options">{{ option.value }} </dt-option>
</dt-combobox>
μ λ ₯
| μ΄λ¦ | μ ν | μ€λͺ
|
| -------------- | -------------- | -------------- |
| value
| string \| undefined
| μ
λ ₯μ μ΄κΈ°κ° |
| placeholder
| string \| undefined
| μ
λ ₯μ λν μ리 νμμ |
| id
| λ¬Έμμ΄ | μ ν ID |
| compareWith
| (v1: T, v2: T) => boolean
| μ΅μ
κ°κ³Ό μ νν κ°μ λΉκ΅νλ κΈ°λ₯ |
| required
| boolean
| μ
λ ₯μ΄ νμνμ§ μ¬λΆ |
| panelClass
| string
| 콀보 μμ λλ‘λ€μ΄μ μΆκ°λ ν΄λμ€ |
μΆλ ₯
| μ΄λ¦ | μ ν | μ€λͺ
|
| -------------- | -------------- | -------------- |
| valueChanges
| EventEmitter<string>
| μ κ°μ΄ μ νλμμ λ λ°μνλ μ΄λ²€νΈ |
| filterChanges
| EventEmitter<string>
| νν°κ° λ³κ²½λ λ λ°μνλ μ΄λ²€νΈ |
| openedChange
| μ΄λ²€νΈ μ΄λ―Έν°
μ½ν
μΈ νλ‘μ μ
dt-μ΅μ
dt-optgroup
체ν¬λ¦¬μ€νΈ
μμΌλ‘ 2μ£Ό μ΄λ΄μ μ΄ κΈ°λ₯μ ꡬννκ³ μΆμ΅λλ€. μ μκ² λ¬Έμ λ₯Ό ν λΉν΄ μ£Όμκ² μ΅λκΉ?
@heartdisease λ° @lukett89 μ λκΈ°ννμ¬ λ Όμν ν λ¬Έμ λ₯Ό λ€μ ν λΉνμ΅λλ€.
λ κ°μ§ μ
λ ₯μ λ μΆκ°ν κ²μ μ μν©λλ€.
| μ΄λ¦ | μ ν | κΈ°λ³Έκ° | μ€λͺ
|
| --- | --- | --- | --- |
| λ‘λ© | boolean
| false
| trueλ‘ μ€μ νλ©΄ λ°μ΄ν°κ° νμ¬ λ‘λ/νν°λ§λκ³ μμμ μ¬μ©μμκ² λ³΄μ¬μ£ΌκΈ° μν΄ λ‘λ νμκΈ°κ° νμλ©λλ€. |
| λμ€νλ μ΄ | (value: T) => string
| (value: T) =>
${κ°}`` | 콀보 μμμμ μ΅μ
μ λνλ΄λ μ§μ λ κ°μ²΄μ νμ μ΄λ¦μ λ°ννλ ν¨μ |
displayWith ν¨μλ κ°μ²΄μ ν¨κ» 콀보 μμλ₯Ό μ¬μ©νλ κ²κ³Ό κ΄λ ¨μ΄ μμΌλ©° λ‘λ νμκΈ°λ λλΆλΆμ κ²½μ° νν°λ§μ μλ² μΈ‘μΌλ‘ μ€νλ‘λνλ κ΅¬μ± μμμ λν΄ λ³΄μ¦λλ κ² κ°μ΅λλ€.
κ°μ₯ μ μ©ν λκΈ
λ κ°μ§ μ λ ₯μ λ μΆκ°ν κ²μ μ μν©λλ€.
| μ΄λ¦ | μ ν | κΈ°λ³Έκ° | μ€λͺ |
| --- | --- | --- | --- |
| λ‘λ© |
boolean
|false
| trueλ‘ μ€μ νλ©΄ λ°μ΄ν°κ° νμ¬ λ‘λ/νν°λ§λκ³ μμμ μ¬μ©μμκ² λ³΄μ¬μ£ΌκΈ° μν΄ λ‘λ νμκΈ°κ° νμλ©λλ€. || λμ€νλ μ΄ |
(value: T) => string
|(value: T) =>
${κ°}`` | 콀보 μμμμ μ΅μ μ λνλ΄λ μ§μ λ κ°μ²΄μ νμ μ΄λ¦μ λ°ννλ ν¨μ |displayWith ν¨μλ κ°μ²΄μ ν¨κ» 콀보 μμλ₯Ό μ¬μ©νλ κ²κ³Ό κ΄λ ¨μ΄ μμΌλ©° λ‘λ νμκΈ°λ λλΆλΆμ κ²½μ° νν°λ§μ μλ² μΈ‘μΌλ‘ μ€νλ‘λνλ κ΅¬μ± μμμ λν΄ λ³΄μ¦λλ κ² κ°μ΅λλ€.