tnblog
首页
视频
资源
登录
愿你出走半生,归来仍是少年
排名
6
文章
6
粉丝
16
评论
8
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术

vue3 Element ui Plus 表格 分页,vue3 el-pagination分页

10564人阅读 2022/7/21 9:57 总访问:2161298 评论:0 收藏:0 手机
分类: 前端

其实就是el-pagination控件的使用而已

  1. <template>
  2. <div>
  3. <el-table :data="tableData" stripe="true" size="small" border="true">
  4. <el-table-column label="Id" prop="id" width="60" />
  5. <el-table-column label="宗地位置" prop="landName" />
  6. <el-table-column label="地块位置" prop="areaposition" />
  7. <el-table-column label="控规编号" prop="kgnumber" />
  8. <el-table-column label="供应方式" prop="provideType" />
  9. <el-table-column label="土地面积" prop="landarea" />
  10. <el-table-column label="平均容积率'" prop="floorarearatio" />
  11. <el-table-column
  12. align="center"
  13. fixed="right"
  14. label="操作"
  15. show-overflow-tooltip
  16. width="200"
  17. >
  18. <template #default="{ row }">
  19. <el-button text type="primary" @click="handleDetail(row)">
  20. 详情
  21. </el-button>
  22. <el-button text type="primary" @click="handleEdit(row)">
  23. 编辑
  24. </el-button>
  25. <el-button text type="primary" @click="handleDelete(row)">
  26. 删除
  27. </el-button>
  28. </template>
  29. </el-table-column>
  30. </el-table>
  31. <LandInfoEdit ref="editRef" @fetch-data="fetchData" />
  32. <el-pagination
  33. background
  34. :current-page="queryForm.pageNo"
  35. :layout="layout"
  36. :page-size="queryForm.pageSize"
  37. :total="total"
  38. @current-change="handleCurrentChange"
  39. @size-change="handleSizeChange"
  40. />
  41. </div>
  42. </template>
  43. <script>
  44. import { getList } from '@/api/landInfo'
  45. export default defineComponent({
  46. name: 'dynamicTable',
  47. components: {
  48. LandInfoEdit: defineAsyncComponent(() =>
  49. import('./components/LandInfoEdit')
  50. ),
  51. },
  52. setup() {
  53. const state = reactive({
  54. editRef: null,
  55. tableData: [],
  56. layout: 'total, sizes, prev, pager, next, jumper',
  57. total: 0,
  58. queryForm: {
  59. pageNo: 1,
  60. pageSize: 3,
  61. title: '',
  62. },
  63. })
  64. const fetchData = async () => {
  65. // const result = await getList()
  66. // state.tableData = result.data
  67. const {
  68. data: { list, total },
  69. } = await getList(state.queryForm)
  70. state.tableData = list
  71. state.total = total
  72. }
  73. const handleSizeChange = (val) => {
  74. state.queryForm.pageSize = val
  75. fetchData()
  76. }
  77. const handleCurrentChange = (val) => {
  78. state.queryForm.pageNo = val
  79. fetchData()
  80. }
  81. const queryData = () => {
  82. fetchData()
  83. }
  84. const handleEdit = (row) => {
  85. state['editRef'].showEdit(row)
  86. }
  87. onMounted(() => {
  88. fetchData()
  89. })
  90. return {
  91. ...toRefs(state),
  92. queryData,
  93. handleEdit,
  94. fetchData,
  95. handleSizeChange,
  96. handleCurrentChange,
  97. }
  98. },
  99. })
  100. </script>

接口返回数据的格式如下:

  1. {
  2. "code": 200, //成功的状态码
  3. "msg": "success", //提示信息
  4. "data": { //返回数据
  5. "list": [{},{},{}], //返回数组
  6. "total": 238, //总条数(表格中用到,其它接口可以不返回)
  7. }
  8. }

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739。有需要软件开发,或者学习软件技术的朋友可以和我联系~(Q:815170684)

评价

剑轩

2019/7/11 20:56:32

现在在做android了哇?

java劝退师:@剑轩啥都会点   哈哈哈

2019/7/12 13:11:58 回复