1,注意事項
表頭只支持列合併,使用 column 裏的 colSpan 進行設置。
表格支持行/列合併,使用 render 裏的單元格屬性 colSpan 或者 rowSpan 設值爲 0 時,設置的表格不會渲染。
2,表格的列合併
1,效果圖:
在第十行,將前兩列合併
2,實現方法:
在columns屬性中render方法中設置
const columns = [
{
title: '商品名稱',
dataIndex: 'commodityName',
key: 'commodityName',
render: (text, row, index) => {
if (index != 9) {
return text
} else {
return {
children:<b>{text}</b>,
props:{colSpan:2}
}
}
}
},
這段代碼的意思就是:前9行正常輸出,在第十行 colSpan:2,合併2列。
這樣之後並沒有完成,看一下效果圖:
這樣就溢出了一列,解決方法:上面將第十行的第一列佔了兩列,所有就要將原本的第十行的第二列設置不顯示。
{
title: '規格',
dataIndex: 'type',
key: 'type',
render: (text, row, index) => {
if (index != 9) {
return text
} else {
return {
children:text,
props:{colSpan:0}
}
}
}
},
這樣就達到了我們想要的結果
3,表格的行合併
1,效果圖
2,實現方法
和列的合併一樣只是要把colSpan改爲rowSpan,將第八行的商品編碼合併到第九行,設置第八行的 rowSpan爲2時候,還要設置第九行的rowSpan爲0,不然第九行也會有溢出
columns = [
{
title: '商品編碼',
dataIndex: 'commodityNo',
key: 'commodityNo',
render:(text,row,index)=>{
if(index ===7){
return {
children:text,
props:{rowSpan:2}
}
}else if(index===8){
return {
props:{rowSpan:0}
}
}
}
},