vue3 defineprops接受数组
时间: 2023-11-17 19:05:57 浏览: 401
vue踩坑记录之数组定义和赋值问题
在Vue3中,可以使用defineProps来定义组件的props属性。当需要传递一个数组类型的props时,可以使用PropType来指定数组元素的类型。例如,可以使用以下代码来定义一个包含数组类型props的组件:
```
import { defineProps, PropType } from 'vue'
export default {
props: {
columnData: {
type: Array as PropType<Array<{ prop: string, label: string }>>,
default: () => []
}
},
// ...
}
```
在上面的代码中,我们使用PropType来指定columnData的类型为一个包含prop和label属性的对象数组。这样,在使用v-for遍历columnData时,就可以正确地访问每个元素的属性了。
另外,如果不确定数组元素的类型,也可以将其类型设为any,例如:
```
import { defineProps } from 'vue'
export default {
props: {
columnData: {
type: Array,
default: () => []
} as any
},
// ...
}
```
但是,这种做法会失去类型检查的好处,不建议在实际项目中使用。
阅读全文