2021-11-25_学习B站Spring Boot+vue项目step009_分页查询及删除相关

继续昨天的4.3 查询。当前页及每页个数这两个修改时触发刷新表格。

Pagination 分页组件。

current-page、page-size这两个属性支持v-model双向绑定。

<el-pagination
          v-model:current-page="currentPage"
          :page-sizes="[5, 10, 20]"
          v-model:page-size="pageSize"
          layout="total, sizes, prev, pager, next, jumper"
          :total=total
          @size-change="handleSizeChange"
          @current-change="handleCurrentChange"
      >
// 改变每页个数 触发
    handleSizeChange() {
      this.load()
    },
    // 改变当前页码 触发
    handleCurrentChange() {
      this.load()
    }

4.4 删除

Pop Confirm 气泡确认框。confirm事件:点击“确认”时,触发该事件。

<template #default="scope">
          <el-button type="text" @click="handleEdit(scope.row)"
          >编辑</el-button
          >
          <el-popconfirm title="确认删除吗?" @confirm="handleDelete(scope.row.id)">
            <template #reference>
              <el-button type="text">删除</el-button>
            </template>
          </el-popconfirm>
        </template>
handleDelete(id) {
      console.log(id)
      request.delete("api/user/" + id).then(res => {
        if (res.code === '0') {
          ElMessage({
            type: "success",
            message: "删除成功"
          })
        } else {
          ElMessage({
            type: "error",
            message: res.msg
          })
        }
        this.load() // 重新加载表格
      })
    },
/**
     * 注解@DeleteMapping用来删除
     *
     * "/{id}这种占位符的方式,我们需要通过@PathVariable注解来实现数据的获取。
     * 若多个参数,@DeleteMapping("/{id}/{aa}")
     * 则public Result<?> delete(@PathVariable Long id, @PathVariable String aa)
     */
    @DeleteMapping("/{id}")
    public Result<?> remove(@PathVariable Long id){
        userService.removeById(id);
        return Result.success();
    }

 

posted on 2021-11-25 23:08  平凡力量  阅读(152)  评论(0编辑  收藏  举报