Table 表格
用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。
基础用法
基础的表格展示用法。
Date | Name | Address |
|---|---|---|
| 2016-05-03 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-02 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-04 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-01 | Tom | No. 189, Grove St, Los Angeles |
<template>
<hy-table :data="tableData" style="width: 100%">
<hy-table-column prop="date" label="Date" width="180" />
<hy-table-column prop="name" label="Name" width="180" />
<hy-table-column prop="address" label="Address" />
</hy-table>
</template>
<script lang="ts" setup>
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
]
</script>带边框表格
添加 border 属性即可展示边框表格。
Date | Name | Address |
|---|---|---|
| 2016-05-03 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-02 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-04 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-01 | Tom | No. 189, Grove St, Los Angeles |
<template>
<hy-table :data="tableData" border style="width: 100%">
<hy-table-column prop="date" label="Date" width="180" />
<hy-table-column prop="name" label="Name" width="180" />
<hy-table-column prop="address" label="Address" />
</hy-table>
</template>
<script lang="ts" setup>
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
]
</script>斑马纹表格
添加 stripe 属性可以创建斑马纹表格,使表格更具可读性。
Date | Name | Address |
|---|---|---|
| 2016-05-03 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-02 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-04 | Tom | No. 189, Grove St, Los Angeles |
| 2016-05-01 | Tom | No. 189, Grove St, Los Angeles |
<template>
<hy-table :data="tableData" stripe style="width: 100%">
<hy-table-column prop="date" label="Date" width="180" />
<hy-table-column prop="name" label="Name" width="180" />
<hy-table-column prop="address" label="Address" />
</hy-table>
</template>
<script lang="ts" setup>
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
]
</script>自定义列宽
通过设置 TableColumn 的 width 或 min-width 属性来定义列宽。
自定义列宽
日期 | 姓名 | 地址 |
|---|---|---|
| 2016-05-03 | Tom | No. 189, Grove St, Los Angeles, CA 90001 |
| 2016-05-02 | Jerry | No. 189, Grove St, Los Angeles, CA 90002 |
<template>
<div class="demo-column-width">
<h3>自定义列宽</h3>
<hy-table :data="tableData" border>
<hy-table-column prop="date" label="日期" width="150" />
<hy-table-column prop="name" label="姓名" width="120" />
<hy-table-column prop="address" label="地址" min-width="200" />
</hy-table>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const tableData = ref([
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles, CA 90001',
},
{
date: '2016-05-02',
name: 'Jerry',
address: 'No. 189, Grove St, Los Angeles, CA 90002',
},
])
</script>
<style scoped>
.demo-column-width {
padding: 20px;
}
</style>对齐方式
通过设置 TableColumn 的 align 属性来定义列内容的对齐方式。
对齐方式
日期 | 姓名 | 金额 | 地址 |
|---|---|---|---|
| 2016-05-03 | Tom | 129.8 | No. 189, Grove St |
| 2016-05-02 | Jerry | 99.5 | No. 190, Grove St |
<template>
<div class="demo-align">
<h3>对齐方式</h3>
<hy-table :data="tableData" border>
<hy-table-column prop="date" label="日期" width="180" align="left" />
<hy-table-column prop="name" label="姓名" width="120" align="center" />
<hy-table-column prop="amount" label="金额" width="120" align="right" />
<hy-table-column prop="address" label="地址" />
</hy-table>
</div>
</template>
<script setup lang="ts">
import { ref } from 'vue'
const tableData = ref([
{
date: '2016-05-03',
name: 'Tom',
amount: 129.8,
address: 'No. 189, Grove St',
},
{
date: '2016-05-02',
name: 'Jerry',
amount: 99.5,
address: 'No. 190, Grove St',
},
])
</script>
<style scoped>
.demo-align {
padding: 20px;
}
</style>隐藏表头
通过设置 show-header 属性为 false 可以隐藏表