bootstrap-table树形结构时无法搜索的问题

var options = {
                uniqueId      : "{$unique_id}",         // 表格主键名称,(默认为id,如表主键不为id必须设置主键)
                url           : "{$data_url|raw}",      // 请求后台的URL
                addUrl        : "{$add_url|raw}",       // 新增的地址
                editUrl       : "{$edit_url|raw}",      // 修改的地址
                delUrl        : "{$del_url|raw}",       // 删除的地址
                exportUrl     : "{$export_url|raw}",    // 导出的地址
                sortUrl       : "{$sort_url|raw}",      // 排序的地址
                sortName      : "{$unique_id}",         // 排序列名称
                sortOrder     : "{$sort}",                 // 排序方式  asc 或者 desc
				pagination    : {$pagination},			// 是否进行分页
                parentIdField : "{$parent_id_field}",   // 列表树模式需传递父id字段名(parent_id/pid)
				clickToSelect : true,				    // 默认false不响应,设为true则当点击此行的某处时,会自动选中此行的checkbox/radiobox
                pageSize      : "{$page_size}",         // 每页显示的行数
                layerOpen     : "{$layer_open}",        // 添加/编辑等页启用layer弹层加载
                pageList      : [10, 25, 50, 100,200,500,1000],  //可供选择的每页显示行数
                classes       : '{$classes}', // ※设置表样式,自己加的
                height        : $(window).height() - 220,  // ※设置表格高度,自己加的

如以上代码中,当对“parentIdField”设置项设置了树形结构的父ID时,在表的搜索操作时,对于父id为顶级即为“0”的记录才能显示出来,而父ID大于0的记录无法显示。笔者猜测可能跟树形结构的渲染机制有关,即父ID必须从0开始,向上可追溯到顶级。

那么既要在初始状态显示树形结构,又要在搜索时得到完整的搜索数据,我的方法是在查询数据的过程中,判断是否存在搜索条件,如果存在,那么对查询结果进行格式化,即把所有的记录的父ID全部赋0值,也就是把他们都设置为顶级,这样就能显示所有的搜索结果。例如:


        foreach ($list as $k=>$v) {
			//当选择树形结构时,搜素的时候含有参数,一律把pid赋值为0方能渲染
			
			 if ($where){
				$list[$k]['pid'] = 0;
			 }
			}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值