vue3 ts table
时间: 2024-01-14 15:20:33 浏览: 79
Vue3和TypeScript结合使用的表格实现方式有很多种,以下是其中一种实现方式的示例代码:
```vue
<template>
<table>
<thead>
<tr>
<th v-for="column in columns" :key="column.key">{{ column.label }}</th>
</tr>
</thead>
<tbody>
<tr v-for="item in data" :key="item.id">
<td v-for="column in columns" :key="column.key">{{ item[column.key] }}</td>
</tr>
</tbody>
</table>
</template>
<script lang="ts">
import { defineComponent, ref } from 'vue';
interface TableColumn {
key: string;
label: string;
}
interface TableData {
id: number;
[key: string]: any;
}
export default defineComponent({
name: 'Table',
props: {
columns: {
type: Array as () => TableColumn[],
required: true,
},
data: {
type: Array as () => TableData[],
required: true,
},
},
});
</script>
```
在上述示例中,我们使用了Vue3的`defineComponent`函数来定义一个名为`Table`的组件。组件接收两个props:`columns`和`data`,分别表示表格的列和数据。
在模板中,我们使用`v-for`指令来遍历`columns`和`data`,生成表格的表头和表格内容。
这只是一种简单的实现方式,你可以根据具体需求进行扩展和修改。
阅读全文