bootstrap-table那些我遇到的问题

接手的项目 vue+bootstrap-table

因为时间问题,需求从展开折叠表格 临时改成了,用行与行颜色区分每一项

async loadlist(data){
	this.data  = [];
	//用来存储需要合并的单元格的位置
	var splitArr = [];
	let count = 0;
	const result = await this.post(url,params);
	var resdata = result.data;
	for(var index in resdata){
		this.data.push(resdata[index]);
							
		//根据判断是否有子元素,判断是否是需求
		var subTable = resdata[index].listFtEnquiry;
		var length = subTable.length;
		if(subTable != undefined){
		for(var i = 0; i < length; i++){
			//判断是否完成
			subTable[i].status == 0?subTable[i]['demandId'] = '×':subTable[i]['demandId'] = '√';
			this.data.push(subTable[i]);
		}
		let rowTogo = 0;
		length == 0?rowTogo = 0:rowTogo = length+1;
		splitArr.push({index:Number(count),row:rowTogo})
		count += 1+length;
	}
	//渲染表格
	$('#table').bootstrapTable('load', this.data);
	//根据需求相同的项合并单元格
	for(var n = 0 ; n < splitArr.length; n++){
		$('#table').bootstrapTable('mergeCells', {index: splitArr[n].index, field: 'operate', rowspan:  splitArr[n].row});
	}
}

改变某一列的样式,和设置当前的checkbox禁用,我的直接设置样式让他隐藏了,先让他禁用

//columns的写法
{title:'操作',field:'operate',sortable:false,cellStyle:this.setOperatecellstyle},
{checkbox: true,field:'check',formatter :this.checkboxDis},
{title:'需求ID',field:'demandId',sortable:false,cellStyle:this.setDonecellstyle},

//方法的写法:设置操作列的样式 不包括标题
setOperatecellstyle(){
	return {css:{color:'#38f',background:'#fff !important'}}
},

//如果需要整个列 包括标题 都改变样式那么写法就是
{title:'操作',field:'operate',sortable:false,class:'liStyle'},
//css样式
//.liStyle{
//}

//如果每一列都根据条件显示不一样的样式,写法就是:
//分了三个样式,当status不存在时没有样式,以及当status为0或者1时 样式也不一样
setDonecellstyle(value, row, index){
	if(row.status != undefined){
		return	row.status == 0?{css: {'color': '#ff0000', 'font-size':"24px",'background':'#F7F7F7'}}:{css: {'color': '#40E0D0', 'font-size':"18px",'font-family': 'cursive','background':'#F7F7F7'}};
	}else{
		return {css:{}}
	}
},

//设置禁用的方法
checkboxDis(value, row, index){
	//当这一行有子列时就是需求,则不可用
	return row.listFtEnquiry != undefined? {disabled : true,}: {disabled : false,}
}
//再在style里加上一个样式就可以让其隐藏
//input[type=checkbox]:disabled{
//	opacity: 0;
//}						

最终结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值