前端页面使用数据字典(dict)的形式初始化下拉选

1 篇文章 0 订阅
1 篇文章 0 订阅

页面效果:

1.前端页面的html以及js代码

​
<select name="dealerStatus" id="dealerStatusSelect" lay-verify="required" ></select>

​
// 下拉选初始化
function initSelect() {
	ajax(ctx+"/select/sys/rating_type1",{},function (data) {
		var optionsHtml = '<option value="">请选择</option></select>';
		data.forEach(function(option){
			optionsHtml += '<option value="' + option.value + '">' + option.text + '</option>';
		});
		console.log(optionsHtml)
		document.getElementById("dealerStatusSelect").innerHTML = optionsHtml;
		// 重新渲染 select 组件
		layui.use('form',function () {
			var form = layui.form;
			form.render()

		})
	})
}

2.后端数据的封装

controller层:

@RequestMapping(value = "/sys/{type}")
	public List<DictVo> dict(@PathVariable("type")String type,@RequestParam(value="sort",required=false)String sort,HttpServletRequest request) throws Exception {
		if(StringUtils.isEmpty(sort)){
			return  DictUtil.getDictVoList(type);
		}
		return  DictUtil.getDictVoListBySort(type);
	}

DictUtil中的方法

	public static List<DictVo> getDictVoList(String type) throws IOException {
		List<DictVo> dictList = new ArrayList<DictVo>();
		List<Dictionary> list=getDictList(type);
		if(list!=null){
			for (Dictionary dictionary : list) {
				DictVo dv = new DictVo();
				dv.setValue(dictionary.getDictCode());
				dv.setText(dictionary.getDictCode() + "-" + dictionary.getDictNameCn());
				dv.setSort(dictionary.getSort());
				dictList.add(dv);
			}
		}
        //  排序
		Util.getDictVoValueList(dictList);
		return dictList;
	}


	public static List<DictVo> getDictVoListBySort(String type) throws IOException {
		List<DictVo> dictList = new ArrayList<DictVo>();
		List<Dictionary> list=getDictList(type);
		if(list!=null){
			for (Dictionary dictionary : list) {
				DictVo dv = new DictVo();
				dv.setValue(dictionary.getDictCode());
				dv.setText(dictionary.getDictCode() + "-" + dictionary.getDictNameCn());
				dv.setSort(dictionary.getSort());
				dictList.add(dv);
			}
		}
        // 排序
		Util.getDictVoSortList(dictList);
		return dictList;
	}

    // 获取到字段集合
	public static List<Dictionary> getDictList(String type) throws IOException {
		String json=RedisUtil.getHash(RedisKeyUtil.USER_DICTS, type);
		if(StringUtils.isNotEmpty(json)){
			return JsonUtils.parseArray(json, Dictionary.class);
		}
		return null;
	}

这个方法主要就是是代码变得跟灵活一些  不需要在前端写死下拉选  只需要配置一下字典   通过字典类型访问后端,获取到相关下拉选得字典集合 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Python 中,可以使用 `dict()` 函数来初始化一个字典。`dict()` 函数可以接受各种类型的参数,包括关键字参数和可迭代对象等。下面分别介绍它们的用法: 1. 通过关键字参数初始化字典 可以使用关键字参数来初始化一个字典,例如: ```python my_dict = dict(name='Alice', age=18, gender='female') ``` 这段代码使用了关键字参数来初始化一个字典,其中 `name`、`age`、`gender` 分别表示字典中的键,`'Alice'`、`18`、`'female'` 分别表示字典中的值。 2. 通过可迭代对象初始化字典 可以使用可迭代对象来初始化一个字典,例如: ```python my_dict = dict([('name', 'Alice'), ('age', 18), ('gender', 'female')]) ``` 这段代码使用了一个列表来初始化一个字典,其中列表中的每个元素都是一个包含两个元素的元组,第一个元素表示字典中的键,第二个元素表示字典中的值。 需要注意的是,如果可迭代对象中的元素不是包含两个元素的元组,那么初始化字典时会引发 `ValueError` 异常,例如: ```python my_dict = dict(['name', 'Alice', 'age', 18, 'gender', 'female']) # 引发 ValueError 异常 ``` 因此,在使用可迭代对象初始化字典时,需要确保每个元素都是包含两个元素的元组。 除此之外,`dict()` 函数还可以接受其他类型的参数,例如一个字典、一个生成器表达式等。需要根据具体的需求择合适的参数类型,以初始化一个合适的字典。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值