中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

antd中實現table展開行默認展示的方法

發布時間:2020-11-04 15:30:32 來源:億速云 閱讀:6073 作者:Leah 欄目:開發技術

這篇文章運用簡單易懂的例子給大家介紹antd中實現table展開行默認展示的方法,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

在table中配置

 <Table
 expandedRowKeys={this.store.chargeTableData.map(item => item.key)} //展開的行
 expandIconAsCell={false}
 expandIconColumnIndex={-1}
 bordered     //展示邊框
 defaultExpandAllRows={true}  //初始時展開所有行
 pagination={{ pageSize: 5 }}  //分頁器
 expandedRowRender={this.expandedRowRender} //額外展開的行
 columns={columns}    //數據
 dataSource={this.store.chargeTableData} //數據數組
 />

補充知識:antd Table 利用自己生成cell結合expandedRowKeys配置,實現任意cell控制展開列

因為項目需要,antd實現一個形如這樣的表格

antd中實現table展開行默認展示的方法

但是奈何翻了好幾遍api文檔并沒有發現這樣的東西,只好自己改造了,

首先table是這樣的

 <Table 
  columns={this.columns}
  dataSource={tableData} 
  bordered 
  pagination={false}
  size='small'
  expandIconAsCell={false} 
  expandIconColumnIndex={-1}
  expandedRowRender={record=>this.expandedRowTable(record)}
  expandedRowKeys={this.state.expandArray}
  />

實現了隱藏自帶按鈕、并確定了控制展開行的數組,

接下來就是控制數組了,

先綁定下方法

onClick={()=>this.expandTable(row)}

然后 是點擊cell的方法

expandTable = row =>{
 const filtered = this.state.expandArray
 const text = this.state.expandBtnText 
 if(this.state.expandArray.includes(row.key)){
 filtered.splice(filtered.findIndex(element => element === row.key),1 );
 this.expandTdNum(parseInt(row.key,10),'reduce') 
 text[parseInt(row.key,10)-1] = '詳情'
 }else{
 filtered.push(row.key)
 this.expandTdNum(parseInt(row.key,10),'add') 
 text[parseInt(row.key,10)-1] = '關閉' 
 }
 this.setState({
 expandArray:filtered,
 })

最后控制數組的方法

expandTdNum = (key,operation) =>{
 let temp = 0
 if(operation==='add'){
  temp++
 }else if(operation==='reduce'){
 temp--
 }else{
 return false
 }
 if(key>0 && key<7){
 this.setState({
  firstTdNum:this.state.firstTdNum + temp,
 })
 }else if(key>6 && key<10){
 this.setState({
  middleTdNum:this.state.middleTdNum + temp,
 })
 }else if(key>9 && key<13){
 this.setState({
  lastTdNum:this.state.lastTdNum + temp,
 })
 }
 }

關于antd中實現table展開行默認展示的方法就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

富阳市| 报价| 青川县| 柳林县| 秭归县| 东乡县| 临邑县| 凤台县| 泉州市| 西宁市| 通海县| 林口县| 卓尼县| 晋中市| 城口县| 西吉县| 宁化县| 万山特区| 南宫市| 长沙市| 彭山县| 建湖县| 清新县| 平罗县| 穆棱市| 彩票| 元氏县| 崇明县| 塘沽区| 崇文区| 隆化县| 柞水县| 内江市| 新安县| 多伦县| 温宿县| 通江县| 上栗县| 台北市| 石门县| 盐山县|