Skip to content

Table 表格

用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。

基础用法

基础的表格展示用法。

Date
Name
Address
2016-05-03TomNo. 189, Grove St, Los Angeles
2016-05-02TomNo. 189, Grove St, Los Angeles
2016-05-04TomNo. 189, Grove St, Los Angeles
2016-05-01TomNo. 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-03TomNo. 189, Grove St, Los Angeles
2016-05-02TomNo. 189, Grove St, Los Angeles
2016-05-04TomNo. 189, Grove St, Los Angeles
2016-05-01TomNo. 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-03TomNo. 189, Grove St, Los Angeles
2016-05-02TomNo. 189, Grove St, Los Angeles
2016-05-04TomNo. 189, Grove St, Los Angeles
2016-05-01TomNo. 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 的 widthmin-width 属性来定义列宽。

自定义列宽

日期
姓名
地址
2016-05-03TomNo. 189, Grove St, Los Angeles, CA 90001
2016-05-02JerryNo. 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-03Tom129.8No. 189, Grove St
2016-05-02Jerry99.5No. 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 可以隐藏表