ID Async Select κ°μ
λΉλκΈ° λ‘λ©
API νΈμΆμλ μμ±
νμ μμ
Entity κΈ°λ°ID νμ
보μ₯
κ²μ μ§μ
μ€μκ° νν°λ§λλ°μ΄μ€
λ€μ€ μ ν
λ¨μΌ/λ€μ€ λͺ¨λλ°°μ΄ λ°ν
ID Async Selectλ?
λ¬Έμ : μΈλν€ μ νμ 볡μ‘μ±
λ°μ΄ν°λ² μ΄μ€μμ μΈλν€ κ΄κ³λ₯Ό μ²λ¦¬ν λ, νλ‘ νΈμλμμλ κ΄λ ¨ μν°ν°λ₯Ό μ νν΄μΌ ν©λλ€. μ ν΅μ μΈ λ°©μμ λ¬Έμ μ :- μ±λ₯: λ°μ΄ν°κ° λ§μΌλ©΄ λ‘λ© μκ° μ¦κ°
- λ©λͺ¨λ¦¬: λΆνμν λ°μ΄ν°λ₯Ό λͺ¨λ λ©λͺ¨λ¦¬μ μ μ¬
- UX: μ¬μ©μκ° μνλ νλͺ©μ μ°ΎκΈ° μ΄λ €μ
- νμ₯μ±: λ°μ΄ν°κ° κ³μ λμ΄λλ©΄ κ°λΉ λΆκ°
ν΄κ²°: ID Async Select
Sonamuμ ID Async Selectλ νμν λλ§ λΉλκΈ°λ‘ λ‘λνκ³ κ²μ κΈ°λ₯μ μ 곡ν©λλ€.- β¨ μ±λ₯: μ²μμλ μ΅μνλ§ λ‘λ, κ²μ μ νμν κ²λ§
- β¨ μ¬μ©μ κ²½ν: μλμμ±μΌλ‘ λΉ λ₯Έ μ ν
- β¨ νμ μμ : Entity νμ μ΄ μλμΌλ‘ μ μ©
- β¨ νμ₯μ±: λ°μ΄ν°κ° μ무리 λ§μλ λ¬Έμ μμ
κΈ°λ³Έ μ¬μ©λ²
νμ Props
ID Async Selectλ λ€μ λ κ°μ§ ν΅μ¬ propsλ₯Ό μ¬μ©ν©λλ€:config:services.generated.tsμμ μλ μμ±λ AsyncIdConfig κ°μ²΄subset: μ‘°νν Subset ν€ (μ: βAβ, βDβ λ±)
λ¨μΌ μ ν
νλμ μν°ν°λ₯Ό μ νν©λλ€.- μ¬μ©μκ° νμ΄ννλ©΄ κ²μ API νΈμΆ
- κ²μ κ²°κ³Όλ₯Ό λλ‘λ€μ΄μ νμ
- μ ν μ IDλ§ μ μ₯ (λ©λͺ¨λ¦¬ ν¨μ¨μ )
λ€μ€ μ ν
μ¬λ¬ μν°ν°λ₯Ό μ νν©λλ€.- μ νλ νλͺ©μ νκ·Έ ννλ‘ νμ
- X λ²νΌμΌλ‘ κ°λ³ μ κ±°
- λ°°μ΄ ννλ‘ ID λ°ν (
number[])
μ΄κΈ°κ° μ€μ
κΈ°μ‘΄ λ°μ΄ν° μμ μ μ΄κΈ°κ°μ μ€μ ν©λλ€.valueμ IDλ₯Ό μ λ¬νλ©΄ μλμΌλ‘ ν΄λΉ μν°ν° λ‘λ- λ μ΄λΈ νμλ₯Ό μν΄ λ°±κ·ΈλΌμ΄λμμ λ¨κ±΄ μ‘°ν
- λ‘λ© μ€μλ IDλ§ νμ
displayField μ΅μ
νλλͺ μΌλ‘ μ§μ
κ°μ₯ κ°λ¨ν λ°©λ²μΌλ‘, νμν νλλͺ μ λ¬Έμμ΄λ‘ μ§μ ν©λλ€.μ½λ°± ν¨μλ‘ μ§μ
볡μ‘ν λ μ΄λΈμ΄ νμν κ²½μ° μ½λ°± ν¨μλ₯Ό μ¬μ©ν©λλ€.μλ νμ§ (displayField μλ΅)
displayFieldλ₯Ό μλ΅νλ©΄ μλμΌλ‘ μ μ ν νλλ₯Ό νμ§ν©λλ€.
- name-like νλ:
name,title,label,display_name,username - 첫 λ²μ§Έ string νμ μ»¬λΌ (id μ μΈ)
- fallback:
id
κ³ κΈ μ¬μ©λ²
baseListParamsλ‘ κ²μ 쑰건 μ λ¬
κΈ°λ³Έ κ²μ νλΌλ―Έν°λ₯Ό μ€μ ν μ μμ΅λλ€.onRowChangeλ‘ μ 체 Row λ°μ΄ν° λ°κΈ°
IDλΏλ§ μλλΌ μ νλ Row μ 체 λ°μ΄ν°κ° νμν κ²½μ°:valueField λ³κ²½
κΈ°λ³Έμ μΌλ‘id νλλ₯Ό κ°μΌλ‘ μ¬μ©νμ§λ§, λ€λ₯Έ νλλ₯Ό μ¬μ©ν μλ μμ΅λλ€.
νμ μμ μ±
AsyncIdConfig ꡬ쑰
services.generated.tsμμ μλ μμ±λλ Configλ λ€μ ꡬ쑰λ₯Ό κ°μ΅λλ€:
νμ μΆλ‘ νμ©
Configλ₯Ό ν΅ν΄ νμ μ΄ μλμΌλ‘ μΆλ‘ λ©λλ€:μ€μ μμ
κ²μκΈ μμ± νΌ
κ³μΈ΅μ μ ν
λΆλͺ¨λ₯Ό μ νν ν μμμ μ ννλ ν¨ν΄μ λλ€.νΌκ³Ό ν¨κ» μ¬μ©
SonamuμuseFormκ³Ό ν¨κ» μ¬μ©νλ μμ μ
λλ€.
Props λ νΌλ°μ€
| Prop | νμ | νμ | μ€λͺ |
|---|---|---|---|
config | AsyncIdConfig | β | Entityμ AsyncIdConfig κ°μ²΄ |
subset | string | β | μ‘°νν Subset ν€ |
value | TValue | TValue[] | null | μ νλ κ° | |
onValueChange | (value) => void | κ° λ³κ²½ μ½λ°± | |
onRowChange | (row) => void | Row λ°μ΄ν° λ³κ²½ μ½λ°± | |
displayField | string | ((row) => string) | νμ νλ (μλ΅ μ μλ νμ§) | |
valueField | string | κ° νλ (κΈ°λ³Έ: βidβ) | |
baseListParams | object | κ²μ μ μΆκ° νλΌλ―Έν° | |
multiple | boolean | λ€μ€ μ ν λͺ¨λ | |
placeholder | string | νλ μ΄μ€νλ ν μ€νΈ | |
clearable | boolean | μ ν ν΄μ κ°λ₯ μ¬λΆ | |
disabled | boolean | λΉνμ±ν μ¬λΆ | |
className | string | μΆκ° CSS ν΄λμ€ |