基础使用

引入组件

导入对应地址下的yui-table文件,导出默认定义组件

<script lang="ts">
// 引入yui-table组件
import {YuiTable} from "@/components/Table/index";
export default defineComponent({
    name: "xxxxx",
    components: {YuiTable},
});

</script>

使用组件

根据引入的组件名称在html中使用对应的组件标签,

这里组件名为默认的YuiTable,对应的标签为

<yui-table></yui-table>

数据接入

使用yui-table组件展示数据,需要传入

表头数据(:headerData)、 行数据(:rowData)、 控制类属性数据(:controlAtrr)(如,分页等) 从后台获取或前端定义相应数据对象,传入yui-table对应属性字段中。

<yui-table
    :rowData="rowData数据对象"
    :headerData="headerData数据对象"
    :controlAtrr="controlAtrr数据对象"
>
</yui-table>

数据结构说明

headerData 表头数据 json数组对象

主要的key值如下:

key值说明
label列名称
prop列对应的数据字段名,对应rowData的key值
width列宽
其他其他key值根据实现功能增加设置
[
  {
    id: 100, 
    label: "日期", // 列名
    prop: "date", // prop对应rowData的key值
    width: "150", // 列宽
  },
  {
    id: 210,
    label: "姓名",
    prop: "name",
    width: "120",

  },
  {
    id: 220,
    label: "地址",
    prop: "address",
    width: "300",
  },
  {slot: "age"},
  {
    id: 230,
    label: "数值",
    prop: "num",
    width: "100",
  },
]

rowData 行数据 json数组对象

key值:列字段名

value值:列数据值

[
  {
    id: 1,
    date: '2016-05-02',
    name: '王小虎',
    age: '10岁',
    age_num: '10',
    num: '9',
    address: '上海市普陀区金沙江路 1518 弄',
    province: '上海',
    city: '上海',
    zip: '11011',
    hasChildren: true,
  },
  {
    id: 2,
    date: '2016-05-04',
    name: '王大虎',
    age: '120岁',
    age_num: 20,
    num: 120,
    address: '上海市普陀区金沙江路 1517 弄',
    province: '上海',
    city: '上海',
    zip: '11011',

  }
 ]

controlAtrr 控制类数据 json对象

参数名说明
pageObj分页相关配置对象
position分页组件位置 right left
background带有背景色的分页 false / true
small小型分页 false / true;当表格本身已设置大小时,这里跟随表格大小配置联动
hide_on_single_page当只有一页时隐藏分页 false / true
pager_count设置最大页码按钮数
page_sizes接受一个整型数组,数组元素为展示的选择每页显示个数的选项
layout表示需要显示的内容,用逗号分隔,布局元素会依次显示。total(总页数),sizes(页大小选择),prev(上一页),pager(分页区域),next(下一页),jumper(跳转页面)
total数据总条数
pageData.page当前页码
pageData.size当前页面大小(每页数据条数)
{
  pageObj: { //分页对象
    position: "right", //分页组件位置 right left
    background: false, // 带有背景色的分页 false / true
    small: true, // 小型分页 false / true
    hide_on_single_page: true, // 当只有一页时隐藏分页
    pager_count: 5, // 设置最大页码按钮数
    // 接受一个整型数组,数组元素为展示的选择每页显示个数的选项
    page_sizes: [10, 15, 20, 30, 50, 200],  
     // 表示需要显示的内容,用逗号分隔,布局元素会依次显示。
    layout: "total,sizes,prev, pager, next,jumper",
    total: 10, // 总条数
    pageData: {
      page: 1,  // 页数
      size: 10  // 每页条数
    }
  }
}

页面效果

图片base_table

Last Updated:
Contributors: wangyifan