2017-05-03 66 views
0

我有一個類型:如何使用其他界面的鍵創建自定義界面?

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

,我需要一個新的接口,我需要有

optional key (from mycustomlist): boolean 

例如:

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

{ 
    2: false 
} 

{ 
    3: true, 
    2: false 
} 

我嘗試:

player: { 
    <list>: boolean 
} 

但是我有錯誤((

我該如何創建?

回答

2

所以基本上這是它如何工作:

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

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

的問題是,它會導致以下錯誤:

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

這是一個懸而未決的問題:Enums can no longer be used for index signature types,應在解決版本2.4Index signature parameter type should allow for enums

+0

OK,THX,我會嘗試更新我的版本到2.4:

對此的討論這個問題開始 – Jackson