react中antd Table表格的行列合併,常用的方法和遇到的問題

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}

                        }

                    }

                }

            },

發佈了58 篇原創文章 · 獲贊 41 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章