TS定義組件Props的類型與默認值方式
更新時間:2026年05月31日 10:38:32 作者:滴滴出行~
這段文章主要介紹了Vue.js中定義組件props的三種方法,包括直接定義默認值、通過defineProps傳遞純類型參數(shù)以及使用withDefaults編譯器宏來聲明props類型,適合Vue.js開發(fā)者參考
今天在開發(fā)中,突然想到,平時定義組件的props時,在引入了ts后,常用于定義他的類型或者默認值,看了一下官方文檔,對組件props的定義提供了幾種方法。
官網(wǎng)地址
Vue.js - 漸進式 JavaScript 框架 | Vue.js
三種用法
用法1
只定義默認值,直接使用defineProps就可以
const props = defineProps({
options: {
type: Array,
default: () => [{ label: '男', value: 1 }]
}
})用法2
針對類型的 props聲明,props 可以通過給 defineProps 傳遞純類型參數(shù)的方式來聲明。
具體寫法如下:
// 2.defineProps<泛型參數(shù)>()的方式 沒辦法做默認賦值
type propsType = {
options: {
label: string
value: string | number
}[]
}
const props = defineProps<propsType>()用法3
使用類型聲明時的默認 props 值,vue官方為我們提供了withDefaults 編譯器宏。
具體寫法如下:
// 3.withDefaults 編譯器宏 泛型加默認值
type propsType = {
options: {
label: string
value: string | number
}[]
}
const props = withDefaults(defineProps<propsType>(), {
options: () => [
{
label: '男',
value: 1
}
]
})總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
前端插件庫之vue3使用vue-codemirror插件的步驟和實例
CodeMirror是一款基于JavaScript、面向語言的前端代碼編輯器,下面這篇文章主要給大家介紹了關(guān)于前端插件庫之vue3使用vue-codemirror插件的步驟和實例,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2022-07-07

