day03-功能实现03

  金牌会员 | 2023-4-4 14:30:51 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 634|帖子 634|积分 1902

功能实现03

9.功能08-分页显示

9.1需求分析

将查询的数据进行分页显示,要求功能如下:

  • 显示共多少条记录
  • 可以设置每页显示几条
  • 点击第几页,显示对应的数据
9.2思路分析


  • 后端使用MyBatisPlus分页插件完成查询
  • 修改FurnController,增加处理分页显示代码
  • 完成前台代码,加入分页导航,并将分页请求和后台接口结合
9.3代码实现

9.3.1分页插件

创建MyBatisPlusConfig.java,在配置类中引入MyBatis-Plus分页插件
  1. package com.li.furn.config;
  2. import com.baomidou.mybatisplus.annotation.DbType;
  3. import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
  4. import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
  5. import org.springframework.context.annotation.Bean;
  6. import org.springframework.context.annotation.Configuration;
  7. /**
  8. * @author 李
  9. * @version 1.0
  10. */
  11. @Configuration
  12. public class MybatisPlusConfig {
  13.   <el-pagination
  14.       @size-change="handlePageSizeChange"
  15.       @current-change="handleCurrentChange"
  16.       :current-page="currentPage"
  17.       :page-sizes="[5,10,20]"
  18.       :page-size="pageSize"
  19.       layout="total, sizes, prev, pager, next, jumper"
  20.       :total="total">
  21.   </el-pagination>/**
  22.   <el-pagination
  23.       @size-change="handlePageSizeChange"
  24.       @current-change="handleCurrentChange"
  25.       :current-page="currentPage"
  26.       :page-sizes="[5,10,20]"
  27.       :page-size="pageSize"
  28.       layout="total, sizes, prev, pager, next, jumper"
  29.       :total="total">
  30.   </el-pagination> * 思路:
  31.   <el-pagination
  32.       @size-change="handlePageSizeChange"
  33.       @current-change="handleCurrentChange"
  34.       :current-page="currentPage"
  35.       :page-sizes="[5,10,20]"
  36.       :page-size="pageSize"
  37.       layout="total, sizes, prev, pager, next, jumper"
  38.       :total="total">
  39.   </el-pagination> * 1.注入MyBatisPlusInterceptor对象/bean
  40.   <el-pagination
  41.       @size-change="handlePageSizeChange"
  42.       @current-change="handleCurrentChange"
  43.       :current-page="currentPage"
  44.       :page-sizes="[5,10,20]"
  45.       :page-size="pageSize"
  46.       layout="total, sizes, prev, pager, next, jumper"
  47.       :total="total">
  48.   </el-pagination> * 2.在注入MyBatisPlusInterceptor对象对象bean中,
  49.   <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination> *         加入分页插件-PaginationInnerInterceptor
  58.   <el-pagination
  59.       @size-change="handlePageSizeChange"
  60.       @current-change="handleCurrentChange"
  61.       :current-page="currentPage"
  62.       :page-sizes="[5,10,20]"
  63.       :page-size="pageSize"
  64.       layout="total, sizes, prev, pager, next, jumper"
  65.       :total="total">
  66.   </el-pagination> */
  67.   <el-pagination
  68.       @size-change="handlePageSizeChange"
  69.       @current-change="handleCurrentChange"
  70.       :current-page="currentPage"
  71.       :page-sizes="[5,10,20]"
  72.       :page-size="pageSize"
  73.       layout="total, sizes, prev, pager, next, jumper"
  74.       :total="total">
  75.   </el-pagination>@Bean
  76.   <el-pagination
  77.       @size-change="handlePageSizeChange"
  78.       @current-change="handleCurrentChange"
  79.       :current-page="currentPage"
  80.       :page-sizes="[5,10,20]"
  81.       :page-size="pageSize"
  82.       layout="total, sizes, prev, pager, next, jumper"
  83.       :total="total">
  84.   </el-pagination>public MybatisPlusInterceptor mybatisPlusInterceptor() {
  85.   <el-pagination
  86.       @size-change="handlePageSizeChange"
  87.       @current-change="handleCurrentChange"
  88.       :current-page="currentPage"
  89.       :page-sizes="[5,10,20]"
  90.       :page-size="pageSize"
  91.       layout="total, sizes, prev, pager, next, jumper"
  92.       :total="total">
  93.   </el-pagination>  <el-pagination
  94.       @size-change="handlePageSizeChange"
  95.       @current-change="handleCurrentChange"
  96.       :current-page="currentPage"
  97.       :page-sizes="[5,10,20]"
  98.       :page-size="pageSize"
  99.       layout="total, sizes, prev, pager, next, jumper"
  100.       :total="total">
  101.   </el-pagination>MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();
  102.   <el-pagination
  103.       @size-change="handlePageSizeChange"
  104.       @current-change="handleCurrentChange"
  105.       :current-page="currentPage"
  106.       :page-sizes="[5,10,20]"
  107.       :page-size="pageSize"
  108.       layout="total, sizes, prev, pager, next, jumper"
  109.       :total="total">
  110.   </el-pagination>  <el-pagination
  111.       @size-change="handlePageSizeChange"
  112.       @current-change="handleCurrentChange"
  113.       :current-page="currentPage"
  114.       :page-sizes="[5,10,20]"
  115.       :page-size="pageSize"
  116.       layout="total, sizes, prev, pager, next, jumper"
  117.       :total="total">
  118.   </el-pagination>//分页需要指定数据库类型,因为不同的数据库分页的sql语句不同
  119.   <el-pagination
  120.       @size-change="handlePageSizeChange"
  121.       @current-change="handleCurrentChange"
  122.       :current-page="currentPage"
  123.       :page-sizes="[5,10,20]"
  124.       :page-size="pageSize"
  125.       layout="total, sizes, prev, pager, next, jumper"
  126.       :total="total">
  127.   </el-pagination>  <el-pagination
  128.       @size-change="handlePageSizeChange"
  129.       @current-change="handleCurrentChange"
  130.       :current-page="currentPage"
  131.       :page-sizes="[5,10,20]"
  132.       :page-size="pageSize"
  133.       layout="total, sizes, prev, pager, next, jumper"
  134.       :total="total">
  135.   </el-pagination>interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.MYSQL));
  136.   <el-pagination
  137.       @size-change="handlePageSizeChange"
  138.       @current-change="handleCurrentChange"
  139.       :current-page="currentPage"
  140.       :page-sizes="[5,10,20]"
  141.       :page-size="pageSize"
  142.       layout="total, sizes, prev, pager, next, jumper"
  143.       :total="total">
  144.   </el-pagination>  <el-pagination
  145.       @size-change="handlePageSizeChange"
  146.       @current-change="handleCurrentChange"
  147.       :current-page="currentPage"
  148.       :page-sizes="[5,10,20]"
  149.       :page-size="pageSize"
  150.       layout="total, sizes, prev, pager, next, jumper"
  151.       :total="total">
  152.   </el-pagination>return interceptor;
  153.   <el-pagination
  154.       @size-change="handlePageSizeChange"
  155.       @current-change="handleCurrentChange"
  156.       :current-page="currentPage"
  157.       :page-sizes="[5,10,20]"
  158.       :page-size="pageSize"
  159.       layout="total, sizes, prev, pager, next, jumper"
  160.       :total="total">
  161.   </el-pagination>}
  162. }
复制代码
9.3.2Controller层

修改FurnController.java,增加分页查询处理
  1. /**
  2. * 分页查询的接口方法
  3. *
  4. * @param pageNo   显示第几页,默认为1
  5. * @param pageSize 每页显示条数,默认为5
  6. * @return
  7. */
  8. @GetMapping("/page")
  9. @ResponseBody
  10. public Result listFurnsByPage(@RequestParam(defaultValue = "1") Integer pageNo,
  11.   <el-pagination
  12.       @size-change="handlePageSizeChange"
  13.       @current-change="handleCurrentChange"
  14.       :current-page="currentPage"
  15.       :page-sizes="[5,10,20]"
  16.       :page-size="pageSize"
  17.       layout="total, sizes, prev, pager, next, jumper"
  18.       :total="total">
  19.   </el-pagination>  <el-pagination
  20.       @size-change="handlePageSizeChange"
  21.       @current-change="handleCurrentChange"
  22.       :current-page="currentPage"
  23.       :page-sizes="[5,10,20]"
  24.       :page-size="pageSize"
  25.       layout="total, sizes, prev, pager, next, jumper"
  26.       :total="total">
  27.   </el-pagination>  <el-pagination
  28.       @size-change="handlePageSizeChange"
  29.       @current-change="handleCurrentChange"
  30.       :current-page="currentPage"
  31.       :page-sizes="[5,10,20]"
  32.       :page-size="pageSize"
  33.       layout="total, sizes, prev, pager, next, jumper"
  34.       :total="total">
  35.   </el-pagination>  <el-pagination
  36.       @size-change="handlePageSizeChange"
  37.       @current-change="handleCurrentChange"
  38.       :current-page="currentPage"
  39.       :page-sizes="[5,10,20]"
  40.       :page-size="pageSize"
  41.       layout="total, sizes, prev, pager, next, jumper"
  42.       :total="total">
  43.   </el-pagination>  <el-pagination
  44.       @size-change="handlePageSizeChange"
  45.       @current-change="handleCurrentChange"
  46.       :current-page="currentPage"
  47.       :page-sizes="[5,10,20]"
  48.       :page-size="pageSize"
  49.       layout="total, sizes, prev, pager, next, jumper"
  50.       :total="total">
  51.   </el-pagination>  <el-pagination
  52.       @size-change="handlePageSizeChange"
  53.       @current-change="handleCurrentChange"
  54.       :current-page="currentPage"
  55.       :page-sizes="[5,10,20]"
  56.       :page-size="pageSize"
  57.       layout="total, sizes, prev, pager, next, jumper"
  58.       :total="total">
  59.   </el-pagination>  <el-pagination
  60.       @size-change="handlePageSizeChange"
  61.       @current-change="handleCurrentChange"
  62.       :current-page="currentPage"
  63.       :page-sizes="[5,10,20]"
  64.       :page-size="pageSize"
  65.       layout="total, sizes, prev, pager, next, jumper"
  66.       :total="total">
  67.   </el-pagination>  @RequestParam(defaultValue = "5") Integer pageSize) {
  68.   <el-pagination
  69.       @size-change="handlePageSizeChange"
  70.       @current-change="handleCurrentChange"
  71.       :current-page="currentPage"
  72.       :page-sizes="[5,10,20]"
  73.       :page-size="pageSize"
  74.       layout="total, sizes, prev, pager, next, jumper"
  75.       :total="total">
  76.   </el-pagination>//通过page方法,返回page对象,给对象封装分页数据
  77.   <el-pagination
  78.       @size-change="handlePageSizeChange"
  79.       @current-change="handleCurrentChange"
  80.       :current-page="currentPage"
  81.       :page-sizes="[5,10,20]"
  82.       :page-size="pageSize"
  83.       layout="total, sizes, prev, pager, next, jumper"
  84.       :total="total">
  85.   </el-pagination>Page<Furn> page = furnService.page(new Page<>(pageNo, pageSize));
  86.   <el-pagination
  87.       @size-change="handlePageSizeChange"
  88.       @current-change="handleCurrentChange"
  89.       :current-page="currentPage"
  90.       :page-sizes="[5,10,20]"
  91.       :page-size="pageSize"
  92.       layout="total, sizes, prev, pager, next, jumper"
  93.       :total="total">
  94.   </el-pagination>return Result.success(page);
  95. }
复制代码
使用postman测试:
测试结果:
后端发出的sql:可以看到实际上mybatis-plus底层发出了两次查询,先查询总记录数,再根据总记录数来分页。
9.3.3前端代码

修改HomeView.vue,完成分页导航显示,分页请求。部分代码:
第一部分:引入组件
  1.   <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>
复制代码
第二部分:数据池,整个分页导航的功能主要就是依赖于pageSize和total
  1. ...data() {  return {  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>currentPage: 1,//当前页数  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>pageSize: 5,//每页显示多少条记录  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>total: 10,//数据总记录数  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>  ...  }},...
复制代码
第三部分:方法池
  1. ...handlePageSizeChange(pageSize) {//处理pageSizes的修改  this.pageSize = pageSize;  //刷新家居列表  this.list();},handleCurrentChange(pageNum) {//修改当前要显示的页数  this.currentPage = pageNum;  this.list();},list() {//显示所有家居信息,后面再进行分页和考虑检索条件  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>  // request.get("/api/furns").then(res => {  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>  //   //将返回的数据和tableData绑定  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>  //   this.tableData = res.data;  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>  // })  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>  request.get("/api/furnsByPage", {  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>params: {//params代表请求的数据  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>  pageNo: this.currentPage,  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>  <el-pagination
  82.       @size-change="handlePageSizeChange"
  83.       @current-change="handleCurrentChange"
  84.       :current-page="currentPage"
  85.       :page-sizes="[5,10,20]"
  86.       :page-size="pageSize"
  87.       layout="total, sizes, prev, pager, next, jumper"
  88.       :total="total">
  89.   </el-pagination>  pageSize: this.pageSize  <el-pagination
  90.       @size-change="handlePageSizeChange"
  91.       @current-change="handleCurrentChange"
  92.       :current-page="currentPage"
  93.       :page-sizes="[5,10,20]"
  94.       :page-size="pageSize"
  95.       layout="total, sizes, prev, pager, next, jumper"
  96.       :total="total">
  97.   </el-pagination>  <el-pagination
  98.       @size-change="handlePageSizeChange"
  99.       @current-change="handleCurrentChange"
  100.       :current-page="currentPage"
  101.       :page-sizes="[5,10,20]"
  102.       :page-size="pageSize"
  103.       layout="total, sizes, prev, pager, next, jumper"
  104.       :total="total">
  105.   </el-pagination>}  <el-pagination
  106.       @size-change="handlePageSizeChange"
  107.       @current-change="handleCurrentChange"
  108.       :current-page="currentPage"
  109.       :page-sizes="[5,10,20]"
  110.       :page-size="pageSize"
  111.       layout="total, sizes, prev, pager, next, jumper"
  112.       :total="total">
  113.   </el-pagination>  }).then(res => {  <el-pagination
  114.       @size-change="handlePageSizeChange"
  115.       @current-change="handleCurrentChange"
  116.       :current-page="currentPage"
  117.       :page-sizes="[5,10,20]"
  118.       :page-size="pageSize"
  119.       layout="total, sizes, prev, pager, next, jumper"
  120.       :total="total">
  121.   </el-pagination>  <el-pagination
  122.       @size-change="handlePageSizeChange"
  123.       @current-change="handleCurrentChange"
  124.       :current-page="currentPage"
  125.       :page-sizes="[5,10,20]"
  126.       :page-size="pageSize"
  127.       layout="total, sizes, prev, pager, next, jumper"
  128.       :total="total">
  129.   </el-pagination>// console.log(res)  <el-pagination
  130.       @size-change="handlePageSizeChange"
  131.       @current-change="handleCurrentChange"
  132.       :current-page="currentPage"
  133.       :page-sizes="[5,10,20]"
  134.       :page-size="pageSize"
  135.       layout="total, sizes, prev, pager, next, jumper"
  136.       :total="total">
  137.   </el-pagination>  <el-pagination
  138.       @size-change="handlePageSizeChange"
  139.       @current-change="handleCurrentChange"
  140.       :current-page="currentPage"
  141.       :page-sizes="[5,10,20]"
  142.       :page-size="pageSize"
  143.       layout="total, sizes, prev, pager, next, jumper"
  144.       :total="total">
  145.   </el-pagination>//将返回的数据和tableData绑定  <el-pagination
  146.       @size-change="handlePageSizeChange"
  147.       @current-change="handleCurrentChange"
  148.       :current-page="currentPage"
  149.       :page-sizes="[5,10,20]"
  150.       :page-size="pageSize"
  151.       layout="total, sizes, prev, pager, next, jumper"
  152.       :total="total">
  153.   </el-pagination>  <el-pagination
  154.       @size-change="handlePageSizeChange"
  155.       @current-change="handleCurrentChange"
  156.       :current-page="currentPage"
  157.       :page-sizes="[5,10,20]"
  158.       :page-size="pageSize"
  159.       layout="total, sizes, prev, pager, next, jumper"
  160.       :total="total">
  161.   </el-pagination>this.tableData = res.data.records;  <el-pagination
  162.       @size-change="handlePageSizeChange"
  163.       @current-change="handleCurrentChange"
  164.       :current-page="currentPage"
  165.       :page-sizes="[5,10,20]"
  166.       :page-size="pageSize"
  167.       layout="total, sizes, prev, pager, next, jumper"
  168.       :total="total">
  169.   </el-pagination>  <el-pagination
  170.       @size-change="handlePageSizeChange"
  171.       @current-change="handleCurrentChange"
  172.       :current-page="currentPage"
  173.       :page-sizes="[5,10,20]"
  174.       :page-size="pageSize"
  175.       layout="total, sizes, prev, pager, next, jumper"
  176.       :total="total">
  177.   </el-pagination>//由返回结果修改对应的total  <el-pagination
  178.       @size-change="handlePageSizeChange"
  179.       @current-change="handleCurrentChange"
  180.       :current-page="currentPage"
  181.       :page-sizes="[5,10,20]"
  182.       :page-size="pageSize"
  183.       layout="total, sizes, prev, pager, next, jumper"
  184.       :total="total">
  185.   </el-pagination>  <el-pagination
  186.       @size-change="handlePageSizeChange"
  187.       @current-change="handleCurrentChange"
  188.       :current-page="currentPage"
  189.       :page-sizes="[5,10,20]"
  190.       :page-size="pageSize"
  191.       layout="total, sizes, prev, pager, next, jumper"
  192.       :total="total">
  193.   </el-pagination>this.total = res.data.total;  <el-pagination
  194.       @size-change="handlePageSizeChange"
  195.       @current-change="handleCurrentChange"
  196.       :current-page="currentPage"
  197.       :page-sizes="[5,10,20]"
  198.       :page-size="pageSize"
  199.       layout="total, sizes, prev, pager, next, jumper"
  200.       :total="total">
  201.   </el-pagination>  })  <el-pagination
  202.       @size-change="handlePageSizeChange"
  203.       @current-change="handleCurrentChange"
  204.       :current-page="currentPage"
  205.       :page-sizes="[5,10,20]"
  206.       :page-size="pageSize"
  207.       layout="total, sizes, prev, pager, next, jumper"
  208.       :total="total">
  209.   </el-pagination>},...
复制代码
页面结果显示:
10.功能09-带条件查询分页显示列表

10.1需求分析

如果在搜索框中根据名称查询家居,可以返回分页显示的家居列表,并且点击下一页时,显示的依然是符合条件的数据。
10.2思路分析


  • 完成从后端代码从mapper(dao层)-->Service层-->Controller层,并对代码进行测试
  • 完成前端代码,使用axios发送http请求,完成带条件查询分页显示
10.3代码实现

10.3.1Controller层

修改FurnController.java,添加按条件查询的方法
  1. /** * 根据家居名查询家居数据 * * @param pageNo  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>当前页 * @param pageSize  每页显示的大小 * @param condition 查询条件:家居名,默认为空串 * @return */@GetMapping("/furnsBySearchPage")@ResponseBodypublic Result listFurnsByConditionPage(@RequestParam(defaultValue = "1") Integer pageNo, @RequestParam(defaultValue = "5") Integer pageSize, @RequestParam(defaultValue = "") String condition) {  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>//先创建QueryWrapper,可以将检索条件封装到QueryWrapper  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>QueryWrapper queryWrapper = Wrappers.query();  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>//判断条件是否为可空  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>if (StringUtils.hasText(condition)) {  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>//name为表中的字段  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>queryWrapper.like("name", condition);  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>}  <el-pagination
  82.       @size-change="handlePageSizeChange"
  83.       @current-change="handleCurrentChange"
  84.       :current-page="currentPage"
  85.       :page-sizes="[5,10,20]"
  86.       :page-size="pageSize"
  87.       layout="total, sizes, prev, pager, next, jumper"
  88.       :total="total">
  89.   </el-pagination>//有条件的分页查询  <el-pagination
  90.       @size-change="handlePageSizeChange"
  91.       @current-change="handleCurrentChange"
  92.       :current-page="currentPage"
  93.       :page-sizes="[5,10,20]"
  94.       :page-size="pageSize"
  95.       layout="total, sizes, prev, pager, next, jumper"
  96.       :total="total">
  97.   </el-pagination>Page page = furnService.page(new Page(pageNo, pageSize), queryWrapper);  <el-pagination
  98.       @size-change="handlePageSizeChange"
  99.       @current-change="handleCurrentChange"
  100.       :current-page="currentPage"
  101.       :page-sizes="[5,10,20]"
  102.       :page-size="pageSize"
  103.       layout="total, sizes, prev, pager, next, jumper"
  104.       :total="total">
  105.   </el-pagination>return Result.success(page);}
复制代码
使用postman测试:
10.3.2前端代码

在搜索按钮上绑定list方法,list方法修改请求地址,当condition搜索条件为空时,就查询的是所有的数据
  1. list() {//考虑检索条件  request.get("/api/furnsBySearchPage", {  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>params: {//params代表请求的数据  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>  pageNo: this.currentPage,  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>  pageSize: this.pageSize,  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>  condition: this.search  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>}  }).then(res => {  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>// console.log(res)  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>//将返回的数据和tableData绑定  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>this.tableData = res.data.records;  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>//由返回结果修改对应的total  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>this.total = res.data.total;  })},
复制代码
页面测试:可以看到点击下一页,检索条件没有失效
11.功能10-家居表单前后端校验

11.1需求分析

如果在新增家居表单中,直接提交空表单,后端会报错,因为对应的字段不允许为空。
因此需要在表单前端进行校验,当数据不符合条件时无法提交,并给予提示;同时在后端页应该对接受的数据进行校验,如果后端校验不通过也应该给予相应的提示。
11.2思路分析

11.3代码实现

11.3.1前端代码

修改HomeView.vue,增加表单验证处理代码
部分代码:
  1.   <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>  <el-pagination
  82.       @size-change="handlePageSizeChange"
  83.       @current-change="handleCurrentChange"
  84.       :current-page="currentPage"
  85.       :page-sizes="[5,10,20]"
  86.       :page-size="pageSize"
  87.       layout="total, sizes, prev, pager, next, jumper"
  88.       :total="total">
  89.   </el-pagination>  <el-pagination
  90.       @size-change="handlePageSizeChange"
  91.       @current-change="handleCurrentChange"
  92.       :current-page="currentPage"
  93.       :page-sizes="[5,10,20]"
  94.       :page-size="pageSize"
  95.       layout="total, sizes, prev, pager, next, jumper"
  96.       :total="total">
  97.   </el-pagination>  <el-pagination
  98.       @size-change="handlePageSizeChange"
  99.       @current-change="handleCurrentChange"
  100.       :current-page="currentPage"
  101.       :page-sizes="[5,10,20]"
  102.       :page-size="pageSize"
  103.       layout="total, sizes, prev, pager, next, jumper"
  104.       :total="total">
  105.   </el-pagination>  <el-pagination
  106.       @size-change="handlePageSizeChange"
  107.       @current-change="handleCurrentChange"
  108.       :current-page="currentPage"
  109.       :page-sizes="[5,10,20]"
  110.       :page-size="pageSize"
  111.       layout="total, sizes, prev, pager, next, jumper"
  112.       :total="total">
  113.   </el-pagination>  <el-pagination
  114.       @size-change="handlePageSizeChange"
  115.       @current-change="handleCurrentChange"
  116.       :current-page="currentPage"
  117.       :page-sizes="[5,10,20]"
  118.       :page-size="pageSize"
  119.       layout="total, sizes, prev, pager, next, jumper"
  120.       :total="total">
  121.   </el-pagination>  <el-pagination
  122.       @size-change="handlePageSizeChange"
  123.       @current-change="handleCurrentChange"
  124.       :current-page="currentPage"
  125.       :page-sizes="[5,10,20]"
  126.       :page-size="pageSize"
  127.       layout="total, sizes, prev, pager, next, jumper"
  128.       :total="total">
  129.   </el-pagination>  <el-pagination
  130.       @size-change="handlePageSizeChange"
  131.       @current-change="handleCurrentChange"
  132.       :current-page="currentPage"
  133.       :page-sizes="[5,10,20]"
  134.       :page-size="pageSize"
  135.       layout="total, sizes, prev, pager, next, jumper"
  136.       :total="total">
  137.   </el-pagination>  <el-pagination
  138.       @size-change="handlePageSizeChange"
  139.       @current-change="handleCurrentChange"
  140.       :current-page="currentPage"
  141.       :page-sizes="[5,10,20]"
  142.       :page-size="pageSize"
  143.       layout="total, sizes, prev, pager, next, jumper"
  144.       :total="total">
  145.   </el-pagination>  <el-pagination
  146.       @size-change="handlePageSizeChange"
  147.       @current-change="handleCurrentChange"
  148.       :current-page="currentPage"
  149.       :page-sizes="[5,10,20]"
  150.       :page-size="pageSize"
  151.       layout="total, sizes, prev, pager, next, jumper"
  152.       :total="total">
  153.   </el-pagination>  <el-pagination
  154.       @size-change="handlePageSizeChange"
  155.       @current-change="handleCurrentChange"
  156.       :current-page="currentPage"
  157.       :page-sizes="[5,10,20]"
  158.       :page-size="pageSize"
  159.       layout="total, sizes, prev, pager, next, jumper"
  160.       :total="total">
  161.   </el-pagination>  <el-pagination
  162.       @size-change="handlePageSizeChange"
  163.       @current-change="handleCurrentChange"
  164.       :current-page="currentPage"
  165.       :page-sizes="[5,10,20]"
  166.       :page-size="pageSize"
  167.       layout="total, sizes, prev, pager, next, jumper"
  168.       :total="total">
  169.   </el-pagination>  <el-pagination
  170.       @size-change="handlePageSizeChange"
  171.       @current-change="handleCurrentChange"
  172.       :current-page="currentPage"
  173.       :page-sizes="[5,10,20]"
  174.       :page-size="pageSize"
  175.       layout="total, sizes, prev, pager, next, jumper"
  176.       :total="total">
  177.   </el-pagination>  取 消  <el-pagination
  178.       @size-change="handlePageSizeChange"
  179.       @current-change="handleCurrentChange"
  180.       :current-page="currentPage"
  181.       :page-sizes="[5,10,20]"
  182.       :page-size="pageSize"
  183.       layout="total, sizes, prev, pager, next, jumper"
  184.       :total="total">
  185.   </el-pagination>  确 定  <el-pagination
  186.       @size-change="handlePageSizeChange"
  187.       @current-change="handleCurrentChange"
  188.       :current-page="currentPage"
  189.       :page-sizes="[5,10,20]"
  190.       :page-size="pageSize"
  191.       layout="total, sizes, prev, pager, next, jumper"
  192.       :total="total">
  193.   </el-pagination>  
复制代码
  1. data() {//数据池  return {  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>  ...  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>rules: {//提交表单的校验规则  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>  name: [{required: true, message: '请输入家居名', trigger: 'blur'}],  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>  maker: [{required: true, message: '请输入厂商', trigger: 'blur'}],  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>  price: [  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>{required: true, message: '请输入价格', trigger: 'blur'},  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>{pattern: /^(([1-9]\d*)|0)(\.\d+)?$/, message: '请输入数字', trigger: 'blur'}  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>  ],  <el-pagination
  82.       @size-change="handlePageSizeChange"
  83.       @current-change="handleCurrentChange"
  84.       :current-page="currentPage"
  85.       :page-sizes="[5,10,20]"
  86.       :page-size="pageSize"
  87.       layout="total, sizes, prev, pager, next, jumper"
  88.       :total="total">
  89.   </el-pagination>  sales: [  <el-pagination
  90.       @size-change="handlePageSizeChange"
  91.       @current-change="handleCurrentChange"
  92.       :current-page="currentPage"
  93.       :page-sizes="[5,10,20]"
  94.       :page-size="pageSize"
  95.       layout="total, sizes, prev, pager, next, jumper"
  96.       :total="total">
  97.   </el-pagination>  <el-pagination
  98.       @size-change="handlePageSizeChange"
  99.       @current-change="handleCurrentChange"
  100.       :current-page="currentPage"
  101.       :page-sizes="[5,10,20]"
  102.       :page-size="pageSize"
  103.       layout="total, sizes, prev, pager, next, jumper"
  104.       :total="total">
  105.   </el-pagination>{required: true, message: '请输入销量', trigger: 'blur'},  <el-pagination
  106.       @size-change="handlePageSizeChange"
  107.       @current-change="handleCurrentChange"
  108.       :current-page="currentPage"
  109.       :page-sizes="[5,10,20]"
  110.       :page-size="pageSize"
  111.       layout="total, sizes, prev, pager, next, jumper"
  112.       :total="total">
  113.   </el-pagination>  <el-pagination
  114.       @size-change="handlePageSizeChange"
  115.       @current-change="handleCurrentChange"
  116.       :current-page="currentPage"
  117.       :page-sizes="[5,10,20]"
  118.       :page-size="pageSize"
  119.       layout="total, sizes, prev, pager, next, jumper"
  120.       :total="total">
  121.   </el-pagination>{pattern: /^(([1-9]\\d*)|0)$/, message: '请输入数字', trigger: 'blur'}  <el-pagination
  122.       @size-change="handlePageSizeChange"
  123.       @current-change="handleCurrentChange"
  124.       :current-page="currentPage"
  125.       :page-sizes="[5,10,20]"
  126.       :page-size="pageSize"
  127.       layout="total, sizes, prev, pager, next, jumper"
  128.       :total="total">
  129.   </el-pagination>  ],  <el-pagination
  130.       @size-change="handlePageSizeChange"
  131.       @current-change="handleCurrentChange"
  132.       :current-page="currentPage"
  133.       :page-sizes="[5,10,20]"
  134.       :page-size="pageSize"
  135.       layout="total, sizes, prev, pager, next, jumper"
  136.       :total="total">
  137.   </el-pagination>  stock: [  <el-pagination
  138.       @size-change="handlePageSizeChange"
  139.       @current-change="handleCurrentChange"
  140.       :current-page="currentPage"
  141.       :page-sizes="[5,10,20]"
  142.       :page-size="pageSize"
  143.       layout="total, sizes, prev, pager, next, jumper"
  144.       :total="total">
  145.   </el-pagination>  <el-pagination
  146.       @size-change="handlePageSizeChange"
  147.       @current-change="handleCurrentChange"
  148.       :current-page="currentPage"
  149.       :page-sizes="[5,10,20]"
  150.       :page-size="pageSize"
  151.       layout="total, sizes, prev, pager, next, jumper"
  152.       :total="total">
  153.   </el-pagination>{required: true, message: '请输入库存', trigger: 'blur'},  <el-pagination
  154.       @size-change="handlePageSizeChange"
  155.       @current-change="handleCurrentChange"
  156.       :current-page="currentPage"
  157.       :page-sizes="[5,10,20]"
  158.       :page-size="pageSize"
  159.       layout="total, sizes, prev, pager, next, jumper"
  160.       :total="total">
  161.   </el-pagination>  <el-pagination
  162.       @size-change="handlePageSizeChange"
  163.       @current-change="handleCurrentChange"
  164.       :current-page="currentPage"
  165.       :page-sizes="[5,10,20]"
  166.       :page-size="pageSize"
  167.       layout="total, sizes, prev, pager, next, jumper"
  168.       :total="total">
  169.   </el-pagination>{pattern: /^(([1-9]\\d*)|0)$/, message: '请输入数字', trigger: 'blur'}  <el-pagination
  170.       @size-change="handlePageSizeChange"
  171.       @current-change="handleCurrentChange"
  172.       :current-page="currentPage"
  173.       :page-sizes="[5,10,20]"
  174.       :page-size="pageSize"
  175.       layout="total, sizes, prev, pager, next, jumper"
  176.       :total="total">
  177.   </el-pagination>  ],  <el-pagination
  178.       @size-change="handlePageSizeChange"
  179.       @current-change="handleCurrentChange"
  180.       :current-page="currentPage"
  181.       :page-sizes="[5,10,20]"
  182.       :page-size="pageSize"
  183.       layout="total, sizes, prev, pager, next, jumper"
  184.       :total="total">
  185.   </el-pagination>}  }},methods: {  <el-pagination
  186.       @size-change="handlePageSizeChange"
  187.       @current-change="handleCurrentChange"
  188.       :current-page="currentPage"
  189.       :page-sizes="[5,10,20]"
  190.       :page-size="pageSize"
  191.       layout="total, sizes, prev, pager, next, jumper"
  192.       :total="total">
  193.   </el-pagination>save() {//(1)添加 (2)修改  <el-pagination
  194.       @size-change="handlePageSizeChange"
  195.       @current-change="handleCurrentChange"
  196.       :current-page="currentPage"
  197.       :page-sizes="[5,10,20]"
  198.       :page-size="pageSize"
  199.       layout="total, sizes, prev, pager, next, jumper"
  200.       :total="total">
  201.   </el-pagination>  if (this.form.id) {  <el-pagination
  202.       @size-change="handlePageSizeChange"
  203.       @current-change="handleCurrentChange"
  204.       :current-page="currentPage"
  205.       :page-sizes="[5,10,20]"
  206.       :page-size="pageSize"
  207.       layout="total, sizes, prev, pager, next, jumper"
  208.       :total="total">
  209.   </el-pagination>  <el-pagination
  210.       @size-change="handlePageSizeChange"
  211.       @current-change="handleCurrentChange"
  212.       :current-page="currentPage"
  213.       :page-sizes="[5,10,20]"
  214.       :page-size="pageSize"
  215.       layout="total, sizes, prev, pager, next, jumper"
  216.       :total="total">
  217.   </el-pagination>...  <el-pagination
  218.       @size-change="handlePageSizeChange"
  219.       @current-change="handleCurrentChange"
  220.       :current-page="currentPage"
  221.       :page-sizes="[5,10,20]"
  222.       :page-size="pageSize"
  223.       layout="total, sizes, prev, pager, next, jumper"
  224.       :total="total">
  225.   </el-pagination>  } else {  <el-pagination
  226.       @size-change="handlePageSizeChange"
  227.       @current-change="handleCurrentChange"
  228.       :current-page="currentPage"
  229.       :page-sizes="[5,10,20]"
  230.       :page-size="pageSize"
  231.       layout="total, sizes, prev, pager, next, jumper"
  232.       :total="total">
  233.   </el-pagination>  <el-pagination
  234.       @size-change="handlePageSizeChange"
  235.       @current-change="handleCurrentChange"
  236.       :current-page="currentPage"
  237.       :page-sizes="[5,10,20]"
  238.       :page-size="pageSize"
  239.       layout="total, sizes, prev, pager, next, jumper"
  240.       :total="total">
  241.   </el-pagination>//当添加家居时,弹出窗口的表单id是空的  <el-pagination
  242.       @size-change="handlePageSizeChange"
  243.       @current-change="handleCurrentChange"
  244.       :current-page="currentPage"
  245.       :page-sizes="[5,10,20]"
  246.       :page-size="pageSize"
  247.       layout="total, sizes, prev, pager, next, jumper"
  248.       :total="total">
  249.   </el-pagination>  <el-pagination
  250.       @size-change="handlePageSizeChange"
  251.       @current-change="handleCurrentChange"
  252.       :current-page="currentPage"
  253.       :page-sizes="[5,10,20]"
  254.       :page-size="pageSize"
  255.       layout="total, sizes, prev, pager, next, jumper"
  256.       :total="total">
  257.   </el-pagination>//发送添加家居请求  <el-pagination
  258.       @size-change="handlePageSizeChange"
  259.       @current-change="handleCurrentChange"
  260.       :current-page="currentPage"
  261.       :page-sizes="[5,10,20]"
  262.       :page-size="pageSize"
  263.       layout="total, sizes, prev, pager, next, jumper"
  264.       :total="total">
  265.   </el-pagination>  <el-pagination
  266.       @size-change="handlePageSizeChange"
  267.       @current-change="handleCurrentChange"
  268.       :current-page="currentPage"
  269.       :page-sizes="[5,10,20]"
  270.       :page-size="pageSize"
  271.       layout="total, sizes, prev, pager, next, jumper"
  272.       :total="total">
  273.   </el-pagination>  <el-pagination
  274.       @size-change="handlePageSizeChange"
  275.       @current-change="handleCurrentChange"
  276.       :current-page="currentPage"
  277.       :page-sizes="[5,10,20]"
  278.       :page-size="pageSize"
  279.       layout="total, sizes, prev, pager, next, jumper"
  280.       :total="total">
  281.   </el-pagination>  <el-pagination
  282.       @size-change="handlePageSizeChange"
  283.       @current-change="handleCurrentChange"
  284.       :current-page="currentPage"
  285.       :page-sizes="[5,10,20]"
  286.       :page-size="pageSize"
  287.       layout="total, sizes, prev, pager, next, jumper"
  288.       :total="total">
  289.   </el-pagination>  //添加时和表单验证关联起来,如果没有通过验证,就不能提交  <el-pagination
  290.       @size-change="handlePageSizeChange"
  291.       @current-change="handleCurrentChange"
  292.       :current-page="currentPage"
  293.       :page-sizes="[5,10,20]"
  294.       :page-size="pageSize"
  295.       layout="total, sizes, prev, pager, next, jumper"
  296.       :total="total">
  297.   </el-pagination>  <el-pagination
  298.       @size-change="handlePageSizeChange"
  299.       @current-change="handleCurrentChange"
  300.       :current-page="currentPage"
  301.       :page-sizes="[5,10,20]"
  302.       :page-size="pageSize"
  303.       layout="total, sizes, prev, pager, next, jumper"
  304.       :total="total">
  305.   </el-pagination>this.$refs['form'].validate(valid => {  <el-pagination
  306.       @size-change="handlePageSizeChange"
  307.       @current-change="handleCurrentChange"
  308.       :current-page="currentPage"
  309.       :page-sizes="[5,10,20]"
  310.       :page-size="pageSize"
  311.       layout="total, sizes, prev, pager, next, jumper"
  312.       :total="total">
  313.   </el-pagination>  <el-pagination
  314.       @size-change="handlePageSizeChange"
  315.       @current-change="handleCurrentChange"
  316.       :current-page="currentPage"
  317.       :page-sizes="[5,10,20]"
  318.       :page-size="pageSize"
  319.       layout="total, sizes, prev, pager, next, jumper"
  320.       :total="total">
  321.   </el-pagination>  if (valid) {//如果校验通过,可以提交表单  <el-pagination
  322.       @size-change="handlePageSizeChange"
  323.       @current-change="handleCurrentChange"
  324.       :current-page="currentPage"
  325.       :page-sizes="[5,10,20]"
  326.       :page-size="pageSize"
  327.       layout="total, sizes, prev, pager, next, jumper"
  328.       :total="total">
  329.   </el-pagination>  <el-pagination
  330.       @size-change="handlePageSizeChange"
  331.       @current-change="handleCurrentChange"
  332.       :current-page="currentPage"
  333.       :page-sizes="[5,10,20]"
  334.       :page-size="pageSize"
  335.       layout="total, sizes, prev, pager, next, jumper"
  336.       :total="total">
  337.   </el-pagination>  <el-pagination
  338.       @size-change="handlePageSizeChange"
  339.       @current-change="handleCurrentChange"
  340.       :current-page="currentPage"
  341.       :page-sizes="[5,10,20]"
  342.       :page-size="pageSize"
  343.       layout="total, sizes, prev, pager, next, jumper"
  344.       :total="total">
  345.   </el-pagination>request.post("/api/save", this.form)  <el-pagination
  346.       @size-change="handlePageSizeChange"
  347.       @current-change="handleCurrentChange"
  348.       :current-page="currentPage"
  349.       :page-sizes="[5,10,20]"
  350.       :page-size="pageSize"
  351.       layout="total, sizes, prev, pager, next, jumper"
  352.       :total="total">
  353.   </el-pagination>  <el-pagination
  354.       @size-change="handlePageSizeChange"
  355.       @current-change="handleCurrentChange"
  356.       :current-page="currentPage"
  357.       :page-sizes="[5,10,20]"
  358.       :page-size="pageSize"
  359.       layout="total, sizes, prev, pager, next, jumper"
  360.       :total="total">
  361.   </el-pagination>  <el-pagination
  362.       @size-change="handlePageSizeChange"
  363.       @current-change="handleCurrentChange"
  364.       :current-page="currentPage"
  365.       :page-sizes="[5,10,20]"
  366.       :page-size="pageSize"
  367.       layout="total, sizes, prev, pager, next, jumper"
  368.       :total="total">
  369.   </el-pagination>  <el-pagination
  370.       @size-change="handlePageSizeChange"
  371.       @current-change="handleCurrentChange"
  372.       :current-page="currentPage"
  373.       :page-sizes="[5,10,20]"
  374.       :page-size="pageSize"
  375.       layout="total, sizes, prev, pager, next, jumper"
  376.       :total="total">
  377.   </el-pagination>.then(res => {//res为后端返回的结果  <el-pagination
  378.       @size-change="handlePageSizeChange"
  379.       @current-change="handleCurrentChange"
  380.       :current-page="currentPage"
  381.       :page-sizes="[5,10,20]"
  382.       :page-size="pageSize"
  383.       layout="total, sizes, prev, pager, next, jumper"
  384.       :total="total">
  385.   </el-pagination>  <el-pagination
  386.       @size-change="handlePageSizeChange"
  387.       @current-change="handleCurrentChange"
  388.       :current-page="currentPage"
  389.       :page-sizes="[5,10,20]"
  390.       :page-size="pageSize"
  391.       layout="total, sizes, prev, pager, next, jumper"
  392.       :total="total">
  393.   </el-pagination>  <el-pagination
  394.       @size-change="handlePageSizeChange"
  395.       @current-change="handleCurrentChange"
  396.       :current-page="currentPage"
  397.       :page-sizes="[5,10,20]"
  398.       :page-size="pageSize"
  399.       layout="total, sizes, prev, pager, next, jumper"
  400.       :total="total">
  401.   </el-pagination>  <el-pagination
  402.       @size-change="handlePageSizeChange"
  403.       @current-change="handleCurrentChange"
  404.       :current-page="currentPage"
  405.       :page-sizes="[5,10,20]"
  406.       :page-size="pageSize"
  407.       layout="total, sizes, prev, pager, next, jumper"
  408.       :total="total">
  409.   </el-pagination>  console.log("res=", res)  <el-pagination
  410.       @size-change="handlePageSizeChange"
  411.       @current-change="handleCurrentChange"
  412.       :current-page="currentPage"
  413.       :page-sizes="[5,10,20]"
  414.       :page-size="pageSize"
  415.       layout="total, sizes, prev, pager, next, jumper"
  416.       :total="total">
  417.   </el-pagination>  <el-pagination
  418.       @size-change="handlePageSizeChange"
  419.       @current-change="handleCurrentChange"
  420.       :current-page="currentPage"
  421.       :page-sizes="[5,10,20]"
  422.       :page-size="pageSize"
  423.       layout="total, sizes, prev, pager, next, jumper"
  424.       :total="total">
  425.   </el-pagination>  <el-pagination
  426.       @size-change="handlePageSizeChange"
  427.       @current-change="handleCurrentChange"
  428.       :current-page="currentPage"
  429.       :page-sizes="[5,10,20]"
  430.       :page-size="pageSize"
  431.       layout="total, sizes, prev, pager, next, jumper"
  432.       :total="total">
  433.   </el-pagination>  <el-pagination
  434.       @size-change="handlePageSizeChange"
  435.       @current-change="handleCurrentChange"
  436.       :current-page="currentPage"
  437.       :page-sizes="[5,10,20]"
  438.       :page-size="pageSize"
  439.       layout="total, sizes, prev, pager, next, jumper"
  440.       :total="total">
  441.   </el-pagination>  this.dialogVisible = false;//发送请求后隐藏表单  <el-pagination
  442.       @size-change="handlePageSizeChange"
  443.       @current-change="handleCurrentChange"
  444.       :current-page="currentPage"
  445.       :page-sizes="[5,10,20]"
  446.       :page-size="pageSize"
  447.       layout="total, sizes, prev, pager, next, jumper"
  448.       :total="total">
  449.   </el-pagination>  <el-pagination
  450.       @size-change="handlePageSizeChange"
  451.       @current-change="handleCurrentChange"
  452.       :current-page="currentPage"
  453.       :page-sizes="[5,10,20]"
  454.       :page-size="pageSize"
  455.       layout="total, sizes, prev, pager, next, jumper"
  456.       :total="total">
  457.   </el-pagination>  <el-pagination
  458.       @size-change="handlePageSizeChange"
  459.       @current-change="handleCurrentChange"
  460.       :current-page="currentPage"
  461.       :page-sizes="[5,10,20]"
  462.       :page-size="pageSize"
  463.       layout="total, sizes, prev, pager, next, jumper"
  464.       :total="total">
  465.   </el-pagination>  <el-pagination
  466.       @size-change="handlePageSizeChange"
  467.       @current-change="handleCurrentChange"
  468.       :current-page="currentPage"
  469.       :page-sizes="[5,10,20]"
  470.       :page-size="pageSize"
  471.       layout="total, sizes, prev, pager, next, jumper"
  472.       :total="total">
  473.   </el-pagination>  this.list();  <el-pagination
  474.       @size-change="handlePageSizeChange"
  475.       @current-change="handleCurrentChange"
  476.       :current-page="currentPage"
  477.       :page-sizes="[5,10,20]"
  478.       :page-size="pageSize"
  479.       layout="total, sizes, prev, pager, next, jumper"
  480.       :total="total">
  481.   </el-pagination>  <el-pagination
  482.       @size-change="handlePageSizeChange"
  483.       @current-change="handleCurrentChange"
  484.       :current-page="currentPage"
  485.       :page-sizes="[5,10,20]"
  486.       :page-size="pageSize"
  487.       layout="total, sizes, prev, pager, next, jumper"
  488.       :total="total">
  489.   </el-pagination>  <el-pagination
  490.       @size-change="handlePageSizeChange"
  491.       @current-change="handleCurrentChange"
  492.       :current-page="currentPage"
  493.       :page-sizes="[5,10,20]"
  494.       :page-size="pageSize"
  495.       layout="total, sizes, prev, pager, next, jumper"
  496.       :total="total">
  497.   </el-pagination>  <el-pagination
  498.       @size-change="handlePageSizeChange"
  499.       @current-change="handleCurrentChange"
  500.       :current-page="currentPage"
  501.       :page-sizes="[5,10,20]"
  502.       :page-size="pageSize"
  503.       layout="total, sizes, prev, pager, next, jumper"
  504.       :total="total">
  505.   </el-pagination>})  <el-pagination
  506.       @size-change="handlePageSizeChange"
  507.       @current-change="handleCurrentChange"
  508.       :current-page="currentPage"
  509.       :page-sizes="[5,10,20]"
  510.       :page-size="pageSize"
  511.       layout="total, sizes, prev, pager, next, jumper"
  512.       :total="total">
  513.   </el-pagination>  <el-pagination
  514.       @size-change="handlePageSizeChange"
  515.       @current-change="handleCurrentChange"
  516.       :current-page="currentPage"
  517.       :page-sizes="[5,10,20]"
  518.       :page-size="pageSize"
  519.       layout="total, sizes, prev, pager, next, jumper"
  520.       :total="total">
  521.   </el-pagination>  } else {//否则不能提交  <el-pagination
  522.       @size-change="handlePageSizeChange"
  523.       @current-change="handleCurrentChange"
  524.       :current-page="currentPage"
  525.       :page-sizes="[5,10,20]"
  526.       :page-size="pageSize"
  527.       layout="total, sizes, prev, pager, next, jumper"
  528.       :total="total">
  529.   </el-pagination>  <el-pagination
  530.       @size-change="handlePageSizeChange"
  531.       @current-change="handleCurrentChange"
  532.       :current-page="currentPage"
  533.       :page-sizes="[5,10,20]"
  534.       :page-size="pageSize"
  535.       layout="total, sizes, prev, pager, next, jumper"
  536.       :total="total">
  537.   </el-pagination>  <el-pagination
  538.       @size-change="handlePageSizeChange"
  539.       @current-change="handleCurrentChange"
  540.       :current-page="currentPage"
  541.       :page-sizes="[5,10,20]"
  542.       :page-size="pageSize"
  543.       layout="total, sizes, prev, pager, next, jumper"
  544.       :total="total">
  545.   </el-pagination>this.$message({  <el-pagination
  546.       @size-change="handlePageSizeChange"
  547.       @current-change="handleCurrentChange"
  548.       :current-page="currentPage"
  549.       :page-sizes="[5,10,20]"
  550.       :page-size="pageSize"
  551.       layout="total, sizes, prev, pager, next, jumper"
  552.       :total="total">
  553.   </el-pagination>  <el-pagination
  554.       @size-change="handlePageSizeChange"
  555.       @current-change="handleCurrentChange"
  556.       :current-page="currentPage"
  557.       :page-sizes="[5,10,20]"
  558.       :page-size="pageSize"
  559.       layout="total, sizes, prev, pager, next, jumper"
  560.       :total="total">
  561.   </el-pagination>  <el-pagination
  562.       @size-change="handlePageSizeChange"
  563.       @current-change="handleCurrentChange"
  564.       :current-page="currentPage"
  565.       :page-sizes="[5,10,20]"
  566.       :page-size="pageSize"
  567.       layout="total, sizes, prev, pager, next, jumper"
  568.       :total="total">
  569.   </el-pagination>  type: "error",  <el-pagination
  570.       @size-change="handlePageSizeChange"
  571.       @current-change="handleCurrentChange"
  572.       :current-page="currentPage"
  573.       :page-sizes="[5,10,20]"
  574.       :page-size="pageSize"
  575.       layout="total, sizes, prev, pager, next, jumper"
  576.       :total="total">
  577.   </el-pagination>  <el-pagination
  578.       @size-change="handlePageSizeChange"
  579.       @current-change="handleCurrentChange"
  580.       :current-page="currentPage"
  581.       :page-sizes="[5,10,20]"
  582.       :page-size="pageSize"
  583.       layout="total, sizes, prev, pager, next, jumper"
  584.       :total="total">
  585.   </el-pagination>  <el-pagination
  586.       @size-change="handlePageSizeChange"
  587.       @current-change="handleCurrentChange"
  588.       :current-page="currentPage"
  589.       :page-sizes="[5,10,20]"
  590.       :page-size="pageSize"
  591.       layout="total, sizes, prev, pager, next, jumper"
  592.       :total="total">
  593.   </el-pagination>  message: "数据格式不正确"  <el-pagination
  594.       @size-change="handlePageSizeChange"
  595.       @current-change="handleCurrentChange"
  596.       :current-page="currentPage"
  597.       :page-sizes="[5,10,20]"
  598.       :page-size="pageSize"
  599.       layout="total, sizes, prev, pager, next, jumper"
  600.       :total="total">
  601.   </el-pagination>  <el-pagination
  602.       @size-change="handlePageSizeChange"
  603.       @current-change="handleCurrentChange"
  604.       :current-page="currentPage"
  605.       :page-sizes="[5,10,20]"
  606.       :page-size="pageSize"
  607.       layout="total, sizes, prev, pager, next, jumper"
  608.       :total="total">
  609.   </el-pagination>  <el-pagination
  610.       @size-change="handlePageSizeChange"
  611.       @current-change="handleCurrentChange"
  612.       :current-page="currentPage"
  613.       :page-sizes="[5,10,20]"
  614.       :page-size="pageSize"
  615.       layout="total, sizes, prev, pager, next, jumper"
  616.       :total="total">
  617.   </el-pagination>})  <el-pagination
  618.       @size-change="handlePageSizeChange"
  619.       @current-change="handleCurrentChange"
  620.       :current-page="currentPage"
  621.       :page-sizes="[5,10,20]"
  622.       :page-size="pageSize"
  623.       layout="total, sizes, prev, pager, next, jumper"
  624.       :total="total">
  625.   </el-pagination>  <el-pagination
  626.       @size-change="handlePageSizeChange"
  627.       @current-change="handleCurrentChange"
  628.       :current-page="currentPage"
  629.       :page-sizes="[5,10,20]"
  630.       :page-size="pageSize"
  631.       layout="total, sizes, prev, pager, next, jumper"
  632.       :total="total">
  633.   </el-pagination>  <el-pagination
  634.       @size-change="handlePageSizeChange"
  635.       @current-change="handleCurrentChange"
  636.       :current-page="currentPage"
  637.       :page-sizes="[5,10,20]"
  638.       :page-size="pageSize"
  639.       layout="total, sizes, prev, pager, next, jumper"
  640.       :total="total">
  641.   </el-pagination>return false;  <el-pagination
  642.       @size-change="handlePageSizeChange"
  643.       @current-change="handleCurrentChange"
  644.       :current-page="currentPage"
  645.       :page-sizes="[5,10,20]"
  646.       :page-size="pageSize"
  647.       layout="total, sizes, prev, pager, next, jumper"
  648.       :total="total">
  649.   </el-pagination>  <el-pagination
  650.       @size-change="handlePageSizeChange"
  651.       @current-change="handleCurrentChange"
  652.       :current-page="currentPage"
  653.       :page-sizes="[5,10,20]"
  654.       :page-size="pageSize"
  655.       layout="total, sizes, prev, pager, next, jumper"
  656.       :total="total">
  657.   </el-pagination>  }  <el-pagination
  658.       @size-change="handlePageSizeChange"
  659.       @current-change="handleCurrentChange"
  660.       :current-page="currentPage"
  661.       :page-sizes="[5,10,20]"
  662.       :page-size="pageSize"
  663.       layout="total, sizes, prev, pager, next, jumper"
  664.       :total="total">
  665.   </el-pagination>  <el-pagination
  666.       @size-change="handlePageSizeChange"
  667.       @current-change="handleCurrentChange"
  668.       :current-page="currentPage"
  669.       :page-sizes="[5,10,20]"
  670.       :page-size="pageSize"
  671.       layout="total, sizes, prev, pager, next, jumper"
  672.       :total="total">
  673.   </el-pagination>})  <el-pagination
  674.       @size-change="handlePageSizeChange"
  675.       @current-change="handleCurrentChange"
  676.       :current-page="currentPage"
  677.       :page-sizes="[5,10,20]"
  678.       :page-size="pageSize"
  679.       layout="total, sizes, prev, pager, next, jumper"
  680.       :total="total">
  681.   </el-pagination>  }  <el-pagination
  682.       @size-change="handlePageSizeChange"
  683.       @current-change="handleCurrentChange"
  684.       :current-page="currentPage"
  685.       :page-sizes="[5,10,20]"
  686.       :page-size="pageSize"
  687.       layout="total, sizes, prev, pager, next, jumper"
  688.       :total="total">
  689.   </el-pagination>}  }...
复制代码
页面效果:

11.3.2后端代码

为了防止如postman之类的软件绕过前端直接发送数据,还需要在后端进行校验。如果
(1)使用JSR303数据校验,在pom.xml中引入hibernate-validator.jar
  1.   <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>org.hibernate  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>hibernate-validator  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>6.1.0.Final
复制代码
(2)修改Furn.java实体类
  1. package com.li.furn.bean;import com.baomidou.mybatisplus.annotation.IdType;import com.baomidou.mybatisplus.annotation.TableId;import lombok.AllArgsConstructor;import lombok.Data;import lombok.NoArgsConstructor;import org.hibernate.validator.constraints.Range;import javax.validation.constraints.Min;import javax.validation.constraints.NotEmpty;import javax.validation.constraints.NotNull;import java.math.BigDecimal;/** * @author 李 * @version 1.0 */@Data@NoArgsConstructor@AllArgsConstructorpublic class Furn {  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>//IdType.AUTO-主键类型为自增长  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>@TableId(type = IdType.AUTO)  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>private Integer id;  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>//对字符串进行非空校验,应该使用@NotEmpty  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>@NotEmpty(message = "请输入家居名")  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>private String name;  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>@NotEmpty(message = "请输入厂商")  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>private String maker;  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>@NotNull(message = "请输入数字")  <el-pagination
  82.       @size-change="handlePageSizeChange"
  83.       @current-change="handleCurrentChange"
  84.       :current-page="currentPage"
  85.       :page-sizes="[5,10,20]"
  86.       :page-size="pageSize"
  87.       layout="total, sizes, prev, pager, next, jumper"
  88.       :total="total">
  89.   </el-pagination>@Range(min = 0, message = "价格不能小于0")  <el-pagination
  90.       @size-change="handlePageSizeChange"
  91.       @current-change="handleCurrentChange"
  92.       :current-page="currentPage"
  93.       :page-sizes="[5,10,20]"
  94.       :page-size="pageSize"
  95.       layout="total, sizes, prev, pager, next, jumper"
  96.       :total="total">
  97.   </el-pagination>private BigDecimal price;  <el-pagination
  98.       @size-change="handlePageSizeChange"
  99.       @current-change="handleCurrentChange"
  100.       :current-page="currentPage"
  101.       :page-sizes="[5,10,20]"
  102.       :page-size="pageSize"
  103.       layout="total, sizes, prev, pager, next, jumper"
  104.       :total="total">
  105.   </el-pagination>@NotNull(message = "请输入数字")  <el-pagination
  106.       @size-change="handlePageSizeChange"
  107.       @current-change="handleCurrentChange"
  108.       :current-page="currentPage"
  109.       :page-sizes="[5,10,20]"
  110.       :page-size="pageSize"
  111.       layout="total, sizes, prev, pager, next, jumper"
  112.       :total="total">
  113.   </el-pagination>@Range(min = 0, message = "销量不能小于0")  <el-pagination
  114.       @size-change="handlePageSizeChange"
  115.       @current-change="handleCurrentChange"
  116.       :current-page="currentPage"
  117.       :page-sizes="[5,10,20]"
  118.       :page-size="pageSize"
  119.       layout="total, sizes, prev, pager, next, jumper"
  120.       :total="total">
  121.   </el-pagination>private Integer sales;  <el-pagination
  122.       @size-change="handlePageSizeChange"
  123.       @current-change="handleCurrentChange"
  124.       :current-page="currentPage"
  125.       :page-sizes="[5,10,20]"
  126.       :page-size="pageSize"
  127.       layout="total, sizes, prev, pager, next, jumper"
  128.       :total="total">
  129.   </el-pagination>@NotNull(message = "请输入数字")  <el-pagination
  130.       @size-change="handlePageSizeChange"
  131.       @current-change="handleCurrentChange"
  132.       :current-page="currentPage"
  133.       :page-sizes="[5,10,20]"
  134.       :page-size="pageSize"
  135.       layout="total, sizes, prev, pager, next, jumper"
  136.       :total="total">
  137.   </el-pagination>@Range(min = 0, message = "库存不能小于0")  <el-pagination
  138.       @size-change="handlePageSizeChange"
  139.       @current-change="handleCurrentChange"
  140.       :current-page="currentPage"
  141.       :page-sizes="[5,10,20]"
  142.       :page-size="pageSize"
  143.       layout="total, sizes, prev, pager, next, jumper"
  144.       :total="total">
  145.   </el-pagination>private Integer stock;}
复制代码
(3)修改FurnController.java的save()方法
  1. @PostMapping("/save")public Result save(@Validated @RequestBody Furn furn, Errors errors) {  <el-pagination
  2.       @size-change="handlePageSizeChange"
  3.       @current-change="handleCurrentChange"
  4.       :current-page="currentPage"
  5.       :page-sizes="[5,10,20]"
  6.       :page-size="pageSize"
  7.       layout="total, sizes, prev, pager, next, jumper"
  8.       :total="total">
  9.   </el-pagination>//如果出现校验错误,SpringBoot底层会把错误信息封装到errors  <el-pagination
  10.       @size-change="handlePageSizeChange"
  11.       @current-change="handleCurrentChange"
  12.       :current-page="currentPage"
  13.       :page-sizes="[5,10,20]"
  14.       :page-size="pageSize"
  15.       layout="total, sizes, prev, pager, next, jumper"
  16.       :total="total">
  17.   </el-pagination>HashMap map = new HashMap();  <el-pagination
  18.       @size-change="handlePageSizeChange"
  19.       @current-change="handleCurrentChange"
  20.       :current-page="currentPage"
  21.       :page-sizes="[5,10,20]"
  22.       :page-size="pageSize"
  23.       layout="total, sizes, prev, pager, next, jumper"
  24.       :total="total">
  25.   </el-pagination>List fieldErrors = errors.getFieldErrors();  <el-pagination
  26.       @size-change="handlePageSizeChange"
  27.       @current-change="handleCurrentChange"
  28.       :current-page="currentPage"
  29.       :page-sizes="[5,10,20]"
  30.       :page-size="pageSize"
  31.       layout="total, sizes, prev, pager, next, jumper"
  32.       :total="total">
  33.   </el-pagination>//遍历errors,将错误信息放入map中  <el-pagination
  34.       @size-change="handlePageSizeChange"
  35.       @current-change="handleCurrentChange"
  36.       :current-page="currentPage"
  37.       :page-sizes="[5,10,20]"
  38.       :page-size="pageSize"
  39.       layout="total, sizes, prev, pager, next, jumper"
  40.       :total="total">
  41.   </el-pagination>for (FieldError fieldError : fieldErrors) {  <el-pagination
  42.       @size-change="handlePageSizeChange"
  43.       @current-change="handleCurrentChange"
  44.       :current-page="currentPage"
  45.       :page-sizes="[5,10,20]"
  46.       :page-size="pageSize"
  47.       layout="total, sizes, prev, pager, next, jumper"
  48.       :total="total">
  49.   </el-pagination>  <el-pagination
  50.       @size-change="handlePageSizeChange"
  51.       @current-change="handleCurrentChange"
  52.       :current-page="currentPage"
  53.       :page-sizes="[5,10,20]"
  54.       :page-size="pageSize"
  55.       layout="total, sizes, prev, pager, next, jumper"
  56.       :total="total">
  57.   </el-pagination>map.put(fieldError.getField(), fieldError.getDefaultMessage());  <el-pagination
  58.       @size-change="handlePageSizeChange"
  59.       @current-change="handleCurrentChange"
  60.       :current-page="currentPage"
  61.       :page-sizes="[5,10,20]"
  62.       :page-size="pageSize"
  63.       layout="total, sizes, prev, pager, next, jumper"
  64.       :total="total">
  65.   </el-pagination>}  <el-pagination
  66.       @size-change="handlePageSizeChange"
  67.       @current-change="handleCurrentChange"
  68.       :current-page="currentPage"
  69.       :page-sizes="[5,10,20]"
  70.       :page-size="pageSize"
  71.       layout="total, sizes, prev, pager, next, jumper"
  72.       :total="total">
  73.   </el-pagination>//如果没有错误信息,说明后端校验成功  <el-pagination
  74.       @size-change="handlePageSizeChange"
  75.       @current-change="handleCurrentChange"
  76.       :current-page="currentPage"
  77.       :page-sizes="[5,10,20]"
  78.       :page-size="pageSize"
  79.       layout="total, sizes, prev, pager, next, jumper"
  80.       :total="total">
  81.   </el-pagination>if (map.isEmpty()) {  <el-pagination
  82.       @size-change="handlePageSizeChange"
  83.       @current-change="handleCurrentChange"
  84.       :current-page="currentPage"
  85.       :page-sizes="[5,10,20]"
  86.       :page-size="pageSize"
  87.       layout="total, sizes, prev, pager, next, jumper"
  88.       :total="total">
  89.   </el-pagination>  <el-pagination
  90.       @size-change="handlePageSizeChange"
  91.       @current-change="handleCurrentChange"
  92.       :current-page="currentPage"
  93.       :page-sizes="[5,10,20]"
  94.       :page-size="pageSize"
  95.       layout="total, sizes, prev, pager, next, jumper"
  96.       :total="total">
  97.   </el-pagination>furnService.save(furn);  <el-pagination
  98.       @size-change="handlePageSizeChange"
  99.       @current-change="handleCurrentChange"
  100.       :current-page="currentPage"
  101.       :page-sizes="[5,10,20]"
  102.       :page-size="pageSize"
  103.       layout="total, sizes, prev, pager, next, jumper"
  104.       :total="total">
  105.   </el-pagination>  <el-pagination
  106.       @size-change="handlePageSizeChange"
  107.       @current-change="handleCurrentChange"
  108.       :current-page="currentPage"
  109.       :page-sizes="[5,10,20]"
  110.       :page-size="pageSize"
  111.       layout="total, sizes, prev, pager, next, jumper"
  112.       :total="total">
  113.   </el-pagination>return Result.success();//返回成功数据  <el-pagination
  114.       @size-change="handlePageSizeChange"
  115.       @current-change="handleCurrentChange"
  116.       :current-page="currentPage"
  117.       :page-sizes="[5,10,20]"
  118.       :page-size="pageSize"
  119.       layout="total, sizes, prev, pager, next, jumper"
  120.       :total="total">
  121.   </el-pagination>} else {//如果有错误信息,就不提交数据,并且将错误信息通过map返回客户端显示  <el-pagination
  122.       @size-change="handlePageSizeChange"
  123.       @current-change="handleCurrentChange"
  124.       :current-page="currentPage"
  125.       :page-sizes="[5,10,20]"
  126.       :page-size="pageSize"
  127.       layout="total, sizes, prev, pager, next, jumper"
  128.       :total="total">
  129.   </el-pagination>  <el-pagination
  130.       @size-change="handlePageSizeChange"
  131.       @current-change="handleCurrentChange"
  132.       :current-page="currentPage"
  133.       :page-sizes="[5,10,20]"
  134.       :page-size="pageSize"
  135.       layout="total, sizes, prev, pager, next, jumper"
  136.       :total="total">
  137.   </el-pagination>return Result.error("400", "数据校验错误", map);  <el-pagination
  138.       @size-change="handlePageSizeChange"
  139.       @current-change="handleCurrentChange"
  140.       :current-page="currentPage"
  141.       :page-sizes="[5,10,20]"
  142.       :page-size="pageSize"
  143.       layout="total, sizes, prev, pager, next, jumper"
  144.       :total="total">
  145.   </el-pagination>}}
复制代码
(4)Postman测试
测试结果:
(5)接入前端
在HomeView.vue的数据池中定义一个对象validMsg,用于接收后端的校验信息。
在save方法中,发送添加的ajax请求后,如果返回的操作码为400,说明后端校验出错,取出错误信息
将错误信息显示在添加表单中:
(6)页面结果:

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表