• 分页功能(板子)


     分页功能实现,将myPagination.vue作为子组件引入到表格组件中,

    在父组件引入myPagination.vue时绑定变量和方法:total="total" :pageSize="pageSize" @changePage='changePage'    红色的是父传子,给分页组件传入最初的变量,红色的是子传父,通过点击分页中改变父组件table的页面显示

     分页功能,可以放在component中

    myPagination.vue


     

    表格页面

    1. <template>
    2. <div class="goods">
    3. <div class="header">
    4. <el-input v-model="input" placeholder="请输入内容">el-input>
    5. <el-button type="primary">查询el-button>
    6. <el-button type="primary">添加el-button>
    7. div>
    8. <div class="wrapper">
    9. <el-table
    10. :data="tableData"
    11. border
    12. style="width: 100%">
    13. <el-table-column type="selection" width="55">
    14. el-table-column>
    15. <el-table-column prop="id" label="商品ID" width="100px">
    16. el-table-column>
    17. <el-table-column prop="title" label="商品名称" width="100px" show-overflow-tooltip>
    18. el-table-column>
    19. <el-table-column width="100px" prop="price" label="商品价格">
    20. el-table-column>
    21. <el-table-column width="100px" prop="num" label="商品数量">
    22. el-table-column>
    23. <el-table-column
    24. width="120px" prop="category" label="规格类目">
    25. el-table-column>
    26. <el-table-column prop="image" label="商品图片" show-overflow-tooltip>
    27. el-table-column>
    28. <el-table-column prop="sellPoint" label="商品买点" show-overflow-tooltip>
    29. el-table-column>
    30. <el-table-column prop="descs" label="商品描述" show-overflow-tooltip>
    31. el-table-column>
    32. <el-table-column label="操作" show-overflow-tooltip>
    33. <template slot-scope="scope">
    34. <el-button
    35. size="mini"
    36. @click="handleEdit(scope.$index, scope.row)">编辑el-button>
    37. <el-button
    38. size="mini"
    39. type="danger"
    40. @click="handleDelete(scope.$index, scope.row)">删除el-button>
    41. template>
    42. el-table-column>
    43. el-table>
    44. div>
    45. <MyPagination :total="total" :pageSize="pageSize" @changePage='changePage'/>
    46. div>
    47. template>
    48. <script>
    49. // import axios from 'axios'
    50. import MyPagination from '@/components/MyPagination.vue';
    51. export default {
    52. name: 'GooDs',
    53. data() {
    54. return {
    55. input: '',
    56. tableData:[],
    57. total:10,
    58. pageSize:1
    59. }
    60. },
    61. components: { MyPagination },
    62. methods: {
    63. handleEdit(index, row) {
    64. console.log(index, row);
    65. },
    66. handleDelete(index, row) {
    67. console.log(index, row);
    68. },
    69. //获取商品信息
    70. getInfo(page){
    71. this.$api.getGoodsList({
    72. page:page
    73. }).then(res=>{
    74. console.log(res.data)
    75. if(res.data.status===200){
    76. this.tableData=res.data.data
    77. this.pageSize=res.data.pageSize
    78. this.total=res.data.total
    79. }
    80. })
    81. },
    82. // 页面改变
    83. changePage(num){
    84. this.getInfo(num)
    85. }
    86. },
    87. created(){
    88. this.getInfo(1)
    89. // axios.get('http://localhost:3001/api/projectList?page=1').then(res => {
    90. // console.log(res);
    91. // })
    92. }
    93. }
    94. script>
    95. <style lang="less" scoped >
    96. .goods {
    97. margin: 20px;
    98. }
    99. .header {
    100. height: 60px;
    101. display: flex;
    102. button {
    103. height: 40px;
    104. margin-left: 20px;
    105. }
    106. margin: 20px,0;
    107. }
    108. .wrapper{
    109. display: block;
    110. margin:20px,0;
    111. }
    112. style>

     

     

  • 相关阅读:
    深度学习-AlexNet论文精读
    leetcode 刷题 log day 52(子序列系列
    使用 Python 交互式方法预测股票价格变动概率
    【Linux】Linux工具——yum,vim
    通过驱动保护进程方案 (Window )
    人工智能AI 全栈体系(一)
    Spring Boot集成easyposter快速入门Demo
    【基操】ArcGIS三种筛选提取要素的方法
    一点点学共形几何(1) 微分几何之拓扑空间简介
    JetpackCompose从入门到实战学习笔记3——Text的简单使用
  • 原文地址:https://blog.csdn.net/qq_51580852/article/details/126028220