javascript - 轉換為映射對象
我有錯誤
型別 'string' 無法指派給型別 '() => string'
this.selectedValue.display = headerOcr.author.profession;
private selectedValue: IDocumentType = {
id: '1',
display: () => '',
label: ''
}
這是「selectedValue」的預設初始化值
我應該對 headerOcr.author.profession 做什麼?display;() => '' 應該有 const 類型。
答案#1
型別 'string' 無法指派給型別 '() => string'
Typescript 期望你所有的物件屬性都是字串,所以有兩種方法:
- 在
display:() => return '',中的回傳值 - 將你的
IDocumentType介面改成這樣:
IDocumentType { /*...*/ display:() => string /*...*/ }
答案#2
如果你將函數定義為 string 類型,就無法傳遞該函數。你要麼更改 headerOcr 的定義,要麼在將其傳遞給 display 之前評估函數調用。
定義的更改將如下所示:
IDocumentType {
display: () => string
}
因此你必須將它用作 IDocumentType.display()
