# 数据组件

# 表格 lg-table

注:更多方法见ant文档 (opens new window)

参数 说明 类型 必须 默认值
dataSource 表单数据对象 Array
columns 表单配置描述 Array
pagination 分页 Object/Boolean
select 是否开启选择 Boolean false
selectList/v-model:selectList 默认选择数据 Array
bordered 是否展示外边框和列边框 Boolean false
size 大小 String middle
scroll 是否滚动(1.1.1新增) Boolean true
tableClass 表格class(1.1.1新增) String true
preserveSelectedRowKeys 当数据被删除时仍然保留选项的 key(1.1.2新增) Boolean true
scrollDeploy 设置表格滚动xy(1.1.3新增) Object { y: 100}
customScroll 自定义滚动(主要弹窗或者表单设置表格高度使用)(1.1.3新增) Boolean false
tableId 表格id(1.1.3新增) String id

# 插槽

名称 说明 调用值
actions 默认操作栏插槽/需要在columns配置名称dataIndex为_actions的列, column,record,index,indexs
字段插槽如(name) 各字段的插槽名称同dataIndex column,record,text,index,indexs

注:更多插槽见ant文档 (opens new window)

# 回调

名称 说明 回调参数
change 选中数据回调
page 分页回调 current,pageSize

# 可调用方法

名称 说明 回调参数
deriveExcel 导出当前页数据, 选中则导出选中(1.1.1新增)

# columns

类型:Array

描述:用于表头名称配置,在a-table原有基础上增加如下配置

columns:[
            {
			show:true,//设置show为true表示该列不在列表中显示
             rich_text:true,//是否为富文本
             function: e =>{return e?'是':"否"} //插入一个函数用于数据格式化
			}
			 ],

案例:

<template>
  <div>
	  <div  style="padding: 3.125rem;">
		  <lg-table bordered select
		   @change='change'
		   @page='openpage'
		   :dataSource='data.dataSource'
		   :columns='data.columns'
		   v-model:selectList='data.selectList'>
		   <template #name='{text}'>
		   		  <a-tag color="blue">{{text}}</a-tag>
		   </template>
		   <template #actions>
			 <a-button type="primary">编辑</a-button>
		   </template>
		  </lg-table>
	  </div>
  </div>
</template>
<script setup>
import {reactive} from 'vue'
const data = reactive({
	selectList:['1'],
	dataSource:  [
	         {
	           id: '1',
	           name: '胡彦斌',
	           age: 32,
	           address: '西湖区湖底公园1号',
	         },
	         {
	           id: '2',
	           name: '胡彦祖',
	           age: 42,
	           address: '西湖区湖底公园1号',
	         },
			 {
			   id: '3',
			   name: '胡彦祖',
			   age: 42,
			   address: '西湖区湖底公园1号',
			 },
	       ],
			columns: [
	         {
	           title: '姓名',
	           dataIndex: 'name',
	         },
	         {
	           title: '年龄',
	           dataIndex: 'age',
	          function: (e) => {return e+'岁'}
	         },
	         {
	           title: '住址',
	           dataIndex: 'address',
			   show:true,
			   },
			  {
			    title: '操作',
			    dataIndex: '_actions',
				width:100
			  },
	       ],
});
// 分页
let openpage =(e)=>{
	console.log(e);
}
// 选择
let change =(e)=>{
	console.log(e);
}
</script>