欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于若依框架的表格设置默认选中后无法获取到值的问题(bootstrapTable)

程序员文章站 2022-07-15 10:42:14
...

前言

项目是基于若依框架写的,大部分的底层技术都是bootstrap。

 

最近在写项目的时候遇见一个需求,需要给表格设置默认选中,然后再获取所有的选中项。框架是有设置默认选中函数的。但是在获取所有选中数据时却无法获取到默认选中的数据。然后我查看了源码后发现所有的选中数据都会被存放在容器中,但是默认选中的数据在初始化的时候并没有被放入到容器中。所以我们只需要初始化的时候将数据放入容器中就好

1.存储选中数据的容器

一共是两个容器,一个是存储选中的id,一个是存储选中的整行数据 

关于若依框架的表格设置默认选中后无法获取到值的问题(bootstrapTable)

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.在初始化之前将选中的数据放入容器中

关于若依框架的表格设置默认选中后无法获取到值的问题(bootstrapTable)