antd Table 展開行可全部展開或關閉

2021-10-01 13:37:11 字數 1744 閱讀 5701

有乙個需要實現的需求: 可展開** 可以全部展開或關閉。如下:

技術實現前提: react + antd table + hooks + tsx

在 antd table 上並沒有找到這個屬性,所以就自己上手來解決一下咯。

實現思路:

總體實現:

// 展開行  可控

const

[expkeys, setexpkeys]

= react.

usestate

(adata && adata.

map(i => i.id));

// 資料來源

const adata =[,

,]},

,,]}

];// 全部關閉或開啟

/** * type boolean值

* true 表示 關閉所有

* false 表示 展開所有

**/const

openorcloseall

=(type: boolean)

=>

;// 子**渲染

const

expandedrowrender

= record =>

}>

tooltip>

<

/ellipsis>

<

/div>),

},];

return

(columns=

size=

"small"

datasource=

pagination=

rowkey=

/>);

};// render

/**

* 樣式來自 antd table的展開和關閉,這樣就和下面子**樣式一樣了

**/}>

}>

onclick=

style=

} classname=

"ant-table-row-expand-icon ant-table-row-expanded"

/>

onclick=

style=

} classname=

"ant-table-row-expand-icon ant-table-row-collapsed"

/>

<

/div>

datasource=

size=

"small"

// 可控的展開與關閉陣列

expandedrowkeys=

// 單個展開或關閉,運算元組

onexpand=

} expandedrowrender=

pagination=

columns=

rowkey=

scroll=}/

>

<

/div>實現後如圖:

關注我獲取更多前端資源和經驗分享

antd table實現可伸縮列

前段時間客戶要求table列需要可拖拽功能,狂問度娘,大部分都是從antd官網上面copy的。極個別的不是,但是含有選擇框的就不行了 最後還是找到了 需要用到外掛程式 vue draggable resizable,安裝最新的就行 無需指定版本 cnpm install s e vue dragga...

el table展開行中通過事件控制某一行的展開

在el table中type expand 時,可以設定展開行,但有時候,需要我們通過一些別的事件來觸發展開行事件,如何來控制某一行的展開與閉合,這是本篇部落格所講訴的。togglerowexpansion,在官網中有描述過這一方法可以用來切換某一行的展開狀態 但是具體 如何書寫,沒有具體的介紹。首...

掃雷問題(可實現展開)

第一下掃雷時,即使踩中了雷也不能直接炸死 掃雷時,座標周圍沒有雷的地方可以實現展開 雷的資訊 char show rows cols 顯示排查出的雷的個數 初始化 initboard mine,rows,cols,0 initboard show,rows,cols,display show,row...