代码
HTML代码
editable="true"
代表该组合框可以编辑,valueField:'id'
代表每个选项的值对应的是goodsType的id,textField:'name'
代表我们看到的文本是goodsType的name
1
| 商品类型: <input class="easyui-combobox" id="s_goodsTypeId" style="width: 140px" editable="true" data-options="panelHeight:'auto',valueField:'id',textField:'name',url:'/admin/goodsType/comboList'"/>
|
Java代码
下面只展示GoodsType实体类和组合框请求的方法comboList,GoodsTypeMapper、GoodsTypeService和GoodsTypeServiceImpl三个类就不展示了
GoodsType实体类
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| package com.ledao.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data;
@Data @TableName(value = "t_goods_type") public class GoodsType {
@TableId private Integer id;
private String name;
@TableField(value = "sortNum") private Integer sortNum;
@TableField(exist = false) private Integer goodsNum; }
|
请求的方法comboList
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| package com.ledao.controller.admin;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ledao.entity.Goods; import com.ledao.entity.GoodsType; import com.ledao.service.GoodsService; import com.ledao.service.GoodsTypeService; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import java.util.HashMap; import java.util.List; import java.util.Map;
@RestController @RequestMapping("/admin/goodsType") public class GoodsTypeAdminController {
@Resource private GoodsTypeService goodsTypeService;
@Resource private GoodsService goodsService;
@RequestMapping("/comboList") public List<GoodsType> comboList(String q) { if (q == null) { q = ""; } QueryWrapper<GoodsType> goodsTypeQueryWrapper = new QueryWrapper<>(); goodsTypeQueryWrapper.like("name", q); return goodsTypeService.list(goodsTypeQueryWrapper); } }
|
效果
注意事项
如果设置了组合框可以编辑且组合框的值为数字,那么就需要判断用户的输入是否正确(即:判断组合框获取到的值是否为数字),这是因为:如果组合框看到的文本在数据库中不存在时我们通过组合框获取到的值为在组合框看到的文本
,这时向后端传入一个不是数字的字符串
,而后端要接收的却是数字,那么后端就会报错