TS定義組件Props的類型與默認(rèn)值方式
今天在開(kāi)發(fā)中,突然想到,平時(shí)定義組件的props時(shí),在引入了ts后,常用于定義他的類型或者默認(rèn)值,看了一下官方文檔,對(duì)組件props的定義提供了幾種方法。
官網(wǎng)地址
Vue.js - 漸進(jìn)式 JavaScript 框架 | Vue.js
三種用法
用法1
只定義默認(rèn)值,直接使用defineProps就可以
const props = defineProps({
options: {
type: Array,
default: () => [{ label: '男', value: 1 }]
}
})用法2
針對(duì)類型的 props聲明,props 可以通過(guò)給 defineProps 傳遞純類型參數(shù)的方式來(lái)聲明。
具體寫(xiě)法如下:
// 2.defineProps<泛型參數(shù)>()的方式 沒(méi)辦法做默認(rèn)賦值
type propsType = {
options: {
label: string
value: string | number
}[]
}
const props = defineProps<propsType>()用法3
使用類型聲明時(shí)的默認(rèn) props 值,vue官方為我們提供了withDefaults 編譯器宏。
具體寫(xiě)法如下:
// 3.withDefaults 編譯器宏 泛型加默認(rèn)值
type propsType = {
options: {
label: string
value: string | number
}[]
}
const props = withDefaults(defineProps<propsType>(), {
options: () => [
{
label: '男',
value: 1
}
]
})總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Vue3使用withDefaults和defineProps設(shè)置默認(rèn)值的操作指南
- Vue?3中defineProps與defineEmits用法深度解析
- Vue3之defineProps、defineEmits和defineExpose的使用及說(shuō)明
- Vue 3中的defineEmits()和defineProps()使用小結(jié)
- vue3在構(gòu)建時(shí)使用魔法糖語(yǔ)法時(shí)defineProps和defineEmits的注意事項(xiàng)小結(jié)
- Props傳參v-for后TS報(bào)錯(cuò)對(duì)象類型是unknow的解決方案
相關(guān)文章
vue實(shí)現(xiàn)滾動(dòng)條始終懸浮在頁(yè)面最下方
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)滾動(dòng)條始終懸浮在頁(yè)面最下方,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04
前端插件庫(kù)之vue3使用vue-codemirror插件的步驟和實(shí)例
CodeMirror是一款基于JavaScript、面向語(yǔ)言的前端代碼編輯器,下面這篇文章主要給大家介紹了關(guān)于前端插件庫(kù)之vue3使用vue-codemirror插件的步驟和實(shí)例,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07
Vue封裝數(shù)字框組件實(shí)現(xiàn)流程詳解
這篇文章主要介紹了Vue封裝數(shù)字框組件實(shí)現(xiàn)流程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-04-04
vue使用ECharts實(shí)現(xiàn)折線圖和餅圖
這篇文章主要為大家詳細(xì)介紹了vue使用ECharts實(shí)現(xiàn)折線圖和餅圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09
vue 返回上一頁(yè),頁(yè)面樣式錯(cuò)亂的解決
今天小編就為大家分享一篇vue 返回上一頁(yè),頁(yè)面樣式錯(cuò)亂的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-11-11

