实现效果

表格序号从0开始递增,换页也是接着第一页的序号开始递增
在这里插入图片描述
在这里插入图片描述

代码实现——HTML部分

用TDesign的组件t-table,详细的内容可以查看官方文档

<t-table
        :data="data"
        :columns="COLUMNS"
        :row-key="ROW_KEY"
        bordered
        :hover="true"
        :pagination="pagination"
        :loading="dataLoading"
        @page-change="onPageChange"
      >
      </t-table>

代码实现——表格数据字段部分

本例将表格数据字段存储在ts文件中,也可以写在script里,看个人需求,官方文档里也有可以看看

export const ROW_KEY = 'index'
export const COLUMNS = [
  {
    title: '序号',
    colKey: 'index',
    ellipsis: true,
    align: 'center',
  },
  {
    title: 'xxx',
    colKey: 'xxxx',
    ellipsis: true,
    align: 'center',
  },
  {
    title: '操作',
    colKey: 'op',
    width: 200,
    fixed: 'right',
    align: 'center',
  },
]

代码实现——JS部分

该功能的关键代码就是for循环,遍历后端传过来的数据,依次将表格序号index属性赋值,i从0开始,你要从1开始就再 + 1就好了,如果想要每一页都从0开始,而不是接着上一页的序号递增,就直接
res.data[i].index = i ,本例是每页都接着上一页递增,因此需要加上 (当前页-1)*当前页面条数
(pageParams.pageCurrent - 1) * pageParams.pageSize(不理解就自己捋捋,数学逻辑问题)

const fetchData = async () => {
  dataLoading.value = true
  try {
    const pageParams = {
      pageCurrent: pagination.current,
      pageSize: pagination.pageSize,
    }
    //获取后端数据,本例将接后端接口的代码写在了ts里,这里就直接调用了
    const res = await queryPage(pageParams, queryParams)
    //功能实现的关键代码(for)
    for (let i = 0; i < res.data.length; i++) {
      res.data[i].index = i + (pageParams.pageCurrent - 1) * pageParams.pageSize
    }
    data.value = res.data
    pagination.total = res.total
  } catch (e) {
    console.log(e)
  } finally {
    dataLoading.value = false
  }
}
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐