一.问题描述
用户表信息,点击修改用户的时候,要对角色框回填
二.错误的方法,绕了很多弯路
一开始是对编辑的角色框赋值,赋的值是用户信息的角色名称,而用户信息的角色名称是从后台传过来的getName.
三.查看EasyUi文档
①写一个死的数据来测试赋值,发现是可以的
var s = ['2','3'];
$('#update_user_roleid').combobox({
onBeforeLoad:function(){
$('#update_user_roleid').combobox('setValues',s)
},
disabled : false,
url : 'role/listRoleByComboBox'
});
②给user表多加一个roleid字段用来存放增加编辑过程中的角色id,之后返回给前端
部分代码
List rolesId = new ArrayList<>();
if(params.getRoleid()!=null)
{
for (Integer roleid : params.getRoleid()) {
System.out.println(params.getRoleid());
SystemRole role = userRoleRepository.findRoleByRoleId(roleid);
if (role!=null){
roles.add(role);
rolesName.add(role.getName());
rolesId.add(roleid);
SystemUserRole systemUserRole = new SystemUserRole();
systemUserRole.setUser(user);
systemUserRole.setRole(role);
userRoleRepository.save(systemUserRole);
}
}
user.setRolename(String.valueOf(rolesName));
user.setRoleid(String.valueOf(rolesId).replace(" ","")); 调试的时候发现["2"," 3"]3前面多了个空格,所以要去除空格