利用bladex+avue实现下拉数据源展示

简介: 利用bladex+avue实现下拉数据源展示

 


昨天给大家整理了下如何使用bladex实现多表查询的方法,今天我们趁热打铁,顺便看看下拉列表的实现。

需求

我们经常会有这样的需求,比如在添加学生信息时,需要选择该生所在的年级,这时候我们一般都是将所有年级信息查询展示在下拉列表中供用户选择,从而提升用户体验度,现在,我们就来看看bladex中是如何实现的。

技术点

  • 前端:avue,Element ui
  • 后端:springboot,springmvc,mybatis plus,bladex

思路分析

vue页面中加载列的时候,设置改列类型typeselect,且设置加载数据源的地址dicUrl,最后将改地址的数据通过props对象展示出来,一般只需要props中的labelvalue即可。

  • label:下拉列表中展示的文本。
  • value:下拉列表中的value值,提交表单的时候提交的是该值。

具体实现

1.修改vue页面的字段字段代码:

{
              label: "创建者",
              prop: "tcid",
              type: "select",
              hide:false,
              dicUrl: "/api/blade-user/select",
              props: {
                label: "name",
                value: "id"
              },
              dataType: "string",
              rules: [{
                required: false,
                message: "请输入创建模板的人",
                trigger: "click"
              }]
            }

注意:

  • dicUrl所指向的地址是查询下拉列表的内容,对应的后台UserController控制器中的代码为:
/**
  * 下拉数据源
  */
 @GetMapping("/select")
 @ApiOperationSupport(order = 3)
 @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 public R<List<User>> select() {
  List<User> list = userService.list();
  return R.data(list);
 }
  • prop对应的是数据库中该表外键的字段
  • props中的label对应的是下拉列表的文本,在这里是用户表的用户名
  • props中的value对应的是下拉列表的值,在这里是用户表的编号,因为提交表单时我们需要的编号值
  • tigger表示点击触发下拉选项

2.在控制器中添加对应dicUrl地址的代码即可,改代码主要实现查询下拉数据源的功能。

/**
  * 下拉数据源
  */
 @GetMapping("/select")
 @ApiOperationSupport(order = 3)
 @PreAuth(RoleConstant.HAS_ROLE_ADMIN)
 public R<List<User>> select() {
  List<User> list = userService.list();
  return R.data(list);
 }
相关文章
|
前端开发
bladex中自定义分页的写法~
bladex中自定义分页的写法~
|
监控 物联网 开发工具
MQTT常见问题之MQTT云端sdk消费者 出现重复消费如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
存储 算法 关系型数据库
Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)
Mycat【Mycat分片技术(水平拆分-分表、ER表、全局表)】(五)-全面详解(学习总结---从入门到深化)
506 0
|
Java
IntelliJ IDEA For Mac "not available for the Java logical font 'Serif' "
Warning: the fonts "Times" and "Lucida Bright" are not available for the Java logical font "Serif", which may have unexpected appearance or behavior. Re-enable the "Times" font to remove this warning.
697 0
IntelliJ IDEA For Mac "not available for the Java logical font 'Serif' "
|
Java
java中File的delete()方法删除文件失败的原因和解决方案
java中File的delete()方法删除文件失败的原因和解决方案
1425 0
|
1月前
|
消息中间件 Ubuntu Java
SpringBoot整合MQTT实战:基于EMQX实现双向设备通信
本教程指导在Ubuntu上部署EMQX 5.9.0并集成Spring Boot实现MQTT双向通信,涵盖服务器搭建、客户端配置及生产实践,助您快速构建企业级物联网消息系统。
534 1
|
11月前
|
关系型数据库 MySQL API
|
JavaScript API
uView Drawer 抽屉
uView Drawer 抽屉
261 0
|
Java 应用服务中间件
[记录]springboot 设置文件上传大小(tomcat默认1M)
[记录]springboot 设置文件上传大小(tomcat默认1M)
557 0
|
安全 Java Maven
Maven重打包问题之Maven的打包机制对于ClassPath的顺序是如何解决的
Maven重打包问题之Maven的打包机制对于ClassPath的顺序是如何解决的
208 0