JS控制表格某行隐藏或显示后页面布局错乱


浏览器IE8下显示情况:


浏览器Google Chrome下显示错乱,如下图:


JS控制表格中隐藏内容代码:

	function disPlay(){
		var row = document.getElementById("row1");
		var option = document.getElementById("baseType").value;
		if(option==1){
			row0.style.display = 'none';
			row1.style.display = ''; 
			row2.style.display = '';
			row3.style.display = '';
			row4.style.display = '';
			row5.style.display = 'none';
		}else{
		//校外
			row0.style.display = '';
			row1.style.display = 'none';
			row2.style.display = 'none';
			row3.style.display = 'none';
			row4.style.display = 'none';
			row5.style.display = '';
		}
	}

原因是display的值如果是inline或block都不行,如果想要显示的话设为空字符串即可。





Vue3中使用`vue-svg-printer`(或`svprint`)进行打印时,如果遇到表格数据在分页后行合并单元格显示错乱的问题,这通常是因为该库在处理复杂页面布局和分页时,可能没有针对所有数据绑定场景做完美的优化。 原因可能是: 1. `svprint`没有内置对表格跨页的合并行为支持,它更多的是关注静态SVG元素的渲染。 2. 表格数据可能在分页过程中失去了原始顺序,导致合并依据的数据变化。 3. 分页算法可能导致列宽计算错误,进而影响合并区域的显示。 解决这个问题的步骤可以尝试: 1. **手动控制布局**:在组件内部管理分页和合并逻辑,比如将完整的表格数据存储在组件状态中,然后在每一页只渲染当前页的部分,并确保行合并基于完整数据集进行计算。 ```javascript <template> <div v-for="(row, rowIndex) in paginatedData" :key="rowIndex"> <table> <!-- 使用完整的行合并信息来渲染每一行 --> <tr v-for="(cell, cellIndex) in row.cellsToMerge" :key="cellIndex"> <!-- 绘制合并单元格 --> </tr> </table> </div> </template> <script> export default { data() { return { paginatedData: [], // 根据总数据量和每页大小计算得到的分页数据 }; }, computed: { ... // 这里计算行合并信息并根据需要分页 }, }; </script> ``` 2. **使用插件扩展**:如果可能,你可以寻找社区是否有其他插件或者第三方库,它们可能会提供更好的表格分页和合并功能。 3. **反馈给开发者**:如果上述方法都无法解决问题,可能需要向`vue-svg-printer`的作者报告这个bug,或者寻求他们是否支持复杂的表格操作。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值