Docmosis生成表格出现多余空白行问题求助
Docmosis表格空白行问题解决建议
问题情况
使用Docmosis生成数据表格时,表头下方及每两行数据间出现空白行,怀疑与<<$isLender>>语句有关,尝试<<else_>>处理未解决。
原表格代码
<table class="s-table"> <thead> <tr> <th>Name</th> <th>Address</th> </tr> </thead> <tbody> <tr> <td></td> <td><<rr_submittingConveyancer.representees>></td> </tr> <tr> <td></td> <td><<$isLender=false>><<rs_party.roles>><<cs_{type=’lender’}>><<$isLender=true>><<es_{type=’lender’}>><<es_party.roles>></td> </tr> <tr> <td></td> <td><<cr_$isLender>></td> </tr> </tbody> </table>
生成后的异常表格
<table class="s-table"> <thead> <tr> <th>Name</th> <th>Address</th> </tr> </thead> <tbody> <tr> <td></td> <td></td> </tr> <tr> <td>Joe Bloggs</td> <td>A1 address of the property</td> </tr> <tr> <td></td> <td></td> </tr> <tr> <td>Big Company</td> <td>B1 Current proprietor's address</td> </tr> </tbody> </table>
问题根源
tbody中固定定义了3个<tr>,无论循环或条件是否输出有效内容,这些<tr>都会被渲染为空行;变量设置语句<<$isLender>>本身不生成内容,但包裹它的<tr>会被保留,最终产生多余空白行。
解决建议
- 将控制逻辑与行元素绑定:用Docmosis的条件、循环标签包裹
<tr>,仅当有有效数据时才生成对应行,避免空<tr>残留。 - 确保标签正确闭合:循环标签(如
<<rr_submittingConveyancer.representees>>)必须搭配对应的闭合标签<</rr_submittingConveyancer.representees>>,防止渲染异常。
修改后的示例代码
<table class="s-table"> <thead> <tr> <th>Name</th> <th>Address</th> </tr> </thead> <tbody> <!-- 处理representees循环,仅生成有数据的行 --> <<rr_submittingConveyancer.representees>> <tr> <td><<rs_party.name>></td> <td><<rs_party.roles>></td> </tr> <</rr_submittingConveyancer.representees>> <!-- 处理party.roles循环,根据type判断生成对应行 --> <<rs_party.roles>> <<if ${type=='lender'}>> <$isLender=true> <tr> <td><<rs_party.name>></td> <td><<rs_party.address>></td> </tr> <</if>> <<if ${type!='lender'}>> <$isLender=false> <tr> <td><<rs_party.name>></td> <td><<rs_party.address>></td> </tr> <</if>> <</rs_party.roles>> </tbody> </table>
额外提示
- 若字段可能为空,可添加条件判断跳过空行,比如用
<<if ${rs_party.name} != ''>>包裹<tr>。 - 避免在
<td>内部堆砌过多控制标签,尽量将逻辑移到行外层,提升模板可读性和渲染稳定性。
内容的提问来源于stack exchange,提问作者Anthony1991
相关产品推荐
相关产品推荐

