簡體   English   中英

如何使用打字稿將 vue 道具類型設置為用戶類數組?

[英]How to set vue prop type to Array of User Class using typescript?

我想知道是否有辦法讓我的組件只接受 User 類的數組。

@Prop({ required: true, type: () => Array }) readonly user: Array<User>;

上面的代碼接受所有數組。

可以使用自定義驗證器檢查道具類型:

@Prop({
  required: true,
  validator: prop => Array.isArray(prop) && prop.every(item => item instanceof User)
}) readonly user: Array<User>;

TypeScript 是結構類型化的, Array<User>不需要數組作為User類的實例。

Array<User>的目的是在組件內部斷言 prop 類型,最好應該是readonly user!: Array<User>

由於 vue-class-component 和 vue-property-decorator 類組件的限制,TypeScript 在編譯時無法保證 props 的類型安全。 Vue 組合 API 可用於嚴格類型的 TypeScript 組件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM