2017-05-03 4 views
0

Ich habe einen Typ:Wie benutzerdefinierte Schnittstelle mit Schlüssel von anderer Schnittstelle erstellen?

enum mycustomlist { 
    football = 0, 
    handball = 1, 
    basketball = 2, 
    chess = 3, 
    swimming = 4 
} 

und ich brauche eine neue Schnittstelle, wo ich

optional key (from mycustomlist): boolean 

Beispiel haben müssen:

{ 
    0: true, 
    1: false, 
    2: true, 
    3: false 
} 

{ 
    2: false 
} 

{ 
    3: true, 
    2: false 
} 

Ich versuche:

player: { 
    <list>: boolean 
} 

aber Ich habe Fehler (

Wie kann ich das schaffen?

Antwort

2

Also im Grunde das ist, wie es funktionieren soll:

enum List { 
    football = 0, 
    handball = 1, 
    basketball = 2, 
    chess = 3, 
    swimming = 4 
} 

type MyType = { 
    [P in List]: boolean 
} 

Das Problem ist, dass es in den folgenden Fehlern führt:

error TS2322: Type 'List' is not assignable to type 'string'

Dies ist eine offene Frage: Enums can no longer be used for index signature types und soll in aufgelöst werden Version 2.4. in dieser Ausgabe

Die Diskussion für diese begann: Index signature parameter type should allow for enums

+0

ok, thx, werde ich versuchen, meine Version 2.4 zu aktualisieren – Jackson

Verwandte Themen