由於目前的語言限制,這可能是不可能的,但我使用最新的TS(1.8.10),並且遇到用戶界面類型問題。 IGridOptions
上的isRowSelectable
屬性被定義爲一個可選的布爾值,但文檔說它是一個函數(而且是)。我想重寫布爾屬性是一個返回布爾值的函數。如何覆蓋打字稿中的屬性?
通常情況下,我只是擴展打字界面,並做我需要的,但在這種情況下不起作用。下面是我有:
interface ISelectionGridOptions extends IGridOptions {
isRowSelectable: (row: IGridRowOf<Profile>) => boolean;
}
凡IGridOptions
相關領域是:
export interface IGridOptions {
...
isRowSelectable?: boolean
...
}
而我得到的錯誤是:
(41,11): error TS2430: Interface 'ISelectionGridOptions' incorrectly extends interface 'IGridOptionsOf<any>'.
Types of property 'isRowSelectable' are incompatible.
Type '(row: IGridRowOf<Profile>) => boolean' is not assignable to type 'boolean'.
固定芯分型定義的短,有沒有辦法在我的代碼中解決這個問題?
如果接口聲明'isRowSelectable'是一個布爾值,那麼您不能用函數「覆蓋」它,因爲布爾值不可調用。 –
好的,這是有道理的。如果您想回答這個問題作爲答案,我很樂意將其標記爲這樣。謝謝。 – icfantv
爲了有點迂迴,它不會因爲布爾值不可調用而中斷,但像錯誤說的那樣,因爲函數不能分配給布爾值。函數peg無法適應布爾值,反之亦然。 –