结合分页实时监听当前页和pagesize值,从而实现a-table表格随数据连续自增,代码如下:
首先定义渲染的表格,自定义列columnShareDetail
<!-- 数据展示表格 -->
<a-table
:columns="columnShareDetail"
:dataSource="cameraList"
:pagination="paginationOpt"
bordered
></a-table>
在data中定义columnShareDetail,和分页paginationOpt
// 分页
paginationOpt: {
defaultCurrent: 1, // 默认当前页数
defaultPageSize: 5, // 默认当前页显示数据的大小
total: 0, // 总数,必须先有
showSizeChanger: true,
showQuickJumper: true,
pageSizeOptions: ["5", "10", "15", "20"],
showTotal: (total) => `共 ${total} 条`, // 显示总数
onShowSizeChange: (current, pageSize) => {
this.paginationOpt.defaultCurrent = 1;
this.paginationOpt.defaultPageSize = pageSize;
this.searchCameraFrom(); //显示列表的接口名称
// 改变每页数量时更新显示
onChange: (current, size) => {
this.paginationOpt.defaultCurrent = current;
this.paginationOpt.defaultPageSize = size;
this.searchCameraFrom();
// 摄像机列
columnShareDetail: [
title: "序号",
customRender: (text, record, index) =>
`${(this.paginationOpt.defaultCurrent - 1) *
this.paginationOpt.defaultPageSize +
index +
结合分页实时监听当前页和pagesize值,从而实现a-table表格随数据连续自增,代码如下: <a-table :columns="columnShareDetail" :dataSource="cameraList" :pagination="paginationOpt" bordered ></a-table>
从今年开始,我要开始使用antd框架开发后台管理系统了,哇咔咔,要学习新东西了,超级开心。。。
今天遇到的一个需求就是a-table组件,需要添加一个序号一列,分页部分需要添加一个分页总数。
效果图如下:
1.a-table组件的使用
<a-table
:rowKey="(r, i) => i"
:columns="columns"
:scroll="{ y: screenHeight, x: 1400 }"
:dataSource="messageList"
border
window.onload = function() {
var oTable = document.getElementById("bbsTab");
for ( var i = 0; i
oTable.rows[i].cells[0].innerHTML = (i
当我们的表格的原始数据中没有序号字段是,我们可以通过BootstrapTable为其设置自增序号并显示,同时我们也可以为表格添加自定的删除功能,来删除某一列数据。
一、添加自增序号
在自己数据列的最前端加上序号列即可,具体代码如下,其中title为姓名的列为自己数据中真实的第一列,而title为序号的列为添加的自增序号列,效果如下所示:
columns: [
截一张官方文档图,图示最后一排就是禁用状态
点击 checkbox 会触发onChange , 从而得到selectedRowKeys,selectedRowKeys就是选中的 key 数组。
onChange: (selectedRowKeys, selectedRows) => {
console.log(`selectedRowKeys: ${selectedRowKeys}`, 'selectedRows: '
在 Vue Ant Design 中,可以使用 `expandable` 属性来实现 Table 行的展开和收起。具体实现步骤如下:
1. 在 Table 组件中设置 `expandable` 属性为一个对象,该对象包含两个属性:`expandedRowRender` 和 `onExpand`。
```html
<template>
<a-table :columns="columns" :data-source="data" :expandable="expandable">
</a-table>
</template>
<script>
export default {
data() {
return {
columns: [...],
data: [...],
expandable: {
expandedRowRender: (record) => {
// 返回展开行的内容
onExpand: (expanded, record) => {
// expanded 为该行是否展开的状态,record 为当前行的数据
</script>
2. 在 `expandedRowRender` 属性中定义展开行的内容。该属性需要一个函数作为值,该函数接收一个参数 `record`,表示当前行的数据。在该函数中返回需要展开的内容。
```html
<template>
<a-table :columns="columns" :data-source="data" :expandable="expandable">
</a-table>
</template>
<script>
export default {
data() {
return {
columns: [...],
data: [...],
expandable: {
expandedRowRender: (record) => {
// 返回展开行的内容
return (
<p>{ record.description }</p>
onExpand: (expanded, record) => {
// expanded 为该行是否展开的状态,record 为当前行的数据
</script>
3. 在 `onExpand` 属性中定义展开和收起的事件。该属性需要一个函数作为值,该函数接收两个参数:`expanded` 和 `record`,分别表示该行是否展开的状态和当前行的数据。
```html
<template>
<a-table :columns="columns" :data-source="data" :expandable="expandable">
</a-table>
</template>
<script>
export default {
data() {
return {
columns: [...],
data: [...],
expandable: {
expandedRowRender: (record) => {
// 返回展开行的内容
return (
<p>{ record.description }</p>
onExpand: (expanded, record) => {
// expanded 为该行是否展开的状态,record 为当前行的数据
console.log(expanded, record)
</script>
完成上述步骤后,即可实现 Vue Ant Design Table 行的展开和收起。