【ts】defineProps数组的类型声明

第一种:使用Record<string, unknown>

Record<string, unknown>表示一个对象,键是string类型,值是未知的

typescript 复制代码
import { defineProps, PropType } from 'vue';

const props = defineProps({
  dataList: {
    type: Array as PropType<Record<string, unknown>[]>,
    default: () => [],
  }
})

第二种:使用索引签名

索引签名表示任何键都是字符串,值可以是任何类型

typescript 复制代码
import { defineProps, PropType } from 'vue';

interface obj {
	[key: string]: unknown
}
const props = defineProps({
  dataList: {
    type: Array as PropType<obj[]>,
    default: () => [],
  }
})

PropType

PropType 是 Vue 提供的工具类型,用于定义复杂的 prop 类型

要使用,先安装

typescript 复制代码
npm install vue @vue/runtime-core

然后在页面中import

typescript 复制代码
import { PropType  } from 'vue';
相关推荐
ssshooter1 小时前
Tauri 项目实践:客户端与 Web 端的授权登录实现方案
前端·后端·rust
兆子龙1 小时前
【React】19 深度解析:掌握新一代 React 特性
前端·架构
Moment2 小时前
MinIO已死,MinIO万岁
前端·后端·github
无双_Joney2 小时前
心路散文 - 转职遇到AI浪潮,AIGC时刻人的价值是什么?
前端·后端·架构
有意义2 小时前
深度拆解分割等和子集:一维DP数组与倒序遍历的本质
前端·算法·面试
卤蛋fg62 小时前
vxe-table 如何实现分组列头折叠列功能
vue.js
小怪点点2 小时前
vue3使用
前端·vue.js
进击的尘埃2 小时前
Vitest 自定义 Reporter 与覆盖率卡口:在 Monorepo 里搞增量覆盖率检测
javascript
进击的尘埃2 小时前
E2E 测试里的网络层,到底该怎么 Mock?
javascript
Bigger3 小时前
CSS 这些年都经历了什么?一次看懂 CSS 的演化史
前端·css·前端工程化