初学vue3+ts:props的用法与注意事项

56 篇文章 1 订阅
7 篇文章 0 订阅
const props = defineProps({
	//对象
	config : {
		type :  Object as PropType<Config>,
		default : () => {
			return {};
		}
	},
	//某些固定值
	areaType : {
		type : String as PropType<'depart' | 'arrive'>,
		default : 'depart'
	},
	//数组
	option : {
		type : Array as PropType<ApiOrderTypes.GetNearByOpsItem[]>,
		default : () => []
	},
	//字符串
	activeMenuId : {
		type : String as PropType<MenuId>,
		default : ''
	}
});

或者跟vue2一样的写法

defineProps({
	color : {//文字颜色
		type : String,
		default : '#000'
	},
	isCustomHeader : {
		type : Boolean,
		default : false
	}
})

注意一点,如果使用eslint有警告props is assigned a value but never used,那就是在ts里,如果你const props = defineProps的话,但是在ts层又没用到这个key,只在视图层用到,那么可以把const props去掉,直接defineProps就行

const props = defineProps({
	list : {
		type : Array as PropType<ApiOrderTypes.GetNearByOrdersReq>,
		default : () => {
			return {};
		}
	}
});
//改成
defineProps({
	list : {
		...
	}
});

在js中用props获取里面的值

console.log(props.list);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值