关于若依框架的表格设置默认选中后无法获取到值的问题(bootstrapTable)
程序员文章站
2022-07-15 10:42:14
...
前言
项目是基于若依框架写的,大部分的底层技术都是bootstrap。
最近在写项目的时候遇见一个需求,需要给表格设置默认选中,然后再获取所有的选中项。框架是有设置默认选中函数的。但是在获取所有选中数据时却无法获取到默认选中的数据。然后我查看了源码后发现所有的选中数据都会被存放在容器中,但是默认选中的数据在初始化的时候并没有被放入到容器中。所以我们只需要初始化的时候将数据放入容器中就好
1.存储选中数据的容器
一共是两个容器,一个是存储选中的id,一个是存储选中的整行数据
2.配置文件中传入选中的数据和id集合
let checkedList = parent.getRecordList();
let checkedIds = [];
//数据集合生成id集合
$.each(checkedList,function (i,item) {
checkedIds.push(item.id)
})
let reimbId = parent.getReimbId();
var options = {
url: prefix + "/listByNoReimb?reimbId="+reimbId,
modalName: "费用",
rememberSelected : true,
checkedList:checkedList,//选中的数据集合
checkedIds:checkedIds,//选中的id集合
columns: [{
field : 'checked',
checkbox: true,
formatter : function (value,row,index) {
$.each(checkedList,function (i,item) {
if(row.id == item.id){
value = {
checked : true//设置选中
};
}
})
return value;
}
},
{
field : 'id',
title : 'null',
visible: false
}
]
};
$.table.init(options);
3.在初始化之前将选中的数据放入容器中