typescript - Cum să accepți doar valori predefinite într-un @Input Angular
Problema mea aici este că primesc o valoare de tip șir în a ca parametru pentru un component, dar vreau să limitez valorile care pot fi folosite ca parametru, exact ca un enum
Eu folosesc
@Input() type: string = '';
Dar în componentă, totul poate fi introdus în proprietatea type și trebuie să limitez asta la doar 3 opțiuni, așa cum am spus mai devreme, ca un Enum
Răspuns #1
încearcă asta:
@Input() type: 'acceptable1' | 'acceptable2' | 'acceptable3';
Acest lucru folosește tipul de uniune TypeScript care permite oricărui dintre tipurile listate. a sau b sau c etc
sau folosește un enum TS
Răspunsul #2
Creează un Enum și setează tipul input-ului tău la enum. Valoarea ta va fi acceptată dacă este una dintre valorile din enum, altfel va fi undefined
enum MyEnum {
First,
Second,
Third
}
@Input() type: MyEnum;
