亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Vue 3 - 將元件和道具用作函數(shù)參數(shù)時(shí)指定它們的類(lèi)型
P粉709644700
P粉709644700 2024-01-05 23:55:40
0
1
692

在 Vue 3 中,我正在建立一個(gè)函數(shù),它將接受元件的實(shí)例和要傳遞的屬性。我也在使用 TypeScript,想知道是否可以輸入這些參數(shù)。例如,該函數(shù)將類(lèi)似於:

const example = (component, props) => {
  //
};

所以我的問(wèn)題是:

  1. 如何指定元件實(shí)例的型別?這些並不總是相同的組件,但至少是用於類(lèi)似目的的組件。
  2. 有沒(méi)有辦法讓我指定道具的類(lèi)型並將其限制為第一個(gè)參數(shù)(元件)的道具?


P粉709644700
P粉709644700

全部回覆(1)
P粉917406009

您可以使用typescript 提供的許多功能和vue 中的Component 類(lèi)型來(lái)實(shí)現(xiàn)正確的鍵入,創(chuàng)建一個(gè)擴(kuò)展Component 的通用類(lèi)型,然後推斷元件選項(xiàng)/props 使用infer,使用Partial 使它們成為可選:

import type { Component } from "vue";

function example<T extends Component>
(Comp: T, props: T extends Component<infer P> ? Partial<P> : never) {
 //....
  }

example(Alert, { variant: "success"})

注意:這也推斷屬性和元件實(shí)例實(shí)用程式

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板