第一次拿不到数据,第二次拿到的是第一次触发的数据,后面每次拿到的都是前一次触发的数据取数据:getExpandData=(param)=>{getModelVersion(param).then((result)=>{if(result){this.setState({subData:result,//过滤之后的数据});}});};嵌套的子表格展开:expandFunction=(expanded,record)=>{const{showListDom}=this.state;if(record){//未展开constparam={modelId:record.id,};this.getExpandData(param);//进不去constsubList=this.state.subData.map((v)=>{return{...v,todo:v.status,};});constdom=(
columns={this.detailsColumns}onChange={this.handleSubTableChange}dataSource={subList}rowKey={subList.id}pagination={false}/>);constId=record.id;constitem={};item[Id]=dom;this.setState({showListDom:{...showListDom,...item,},});}};render方法内:
dataSource={this.state.SampleData}rowKey={record=>record.id||record.key}columns={columns}onChange={this.handleStandardTableChange}pagination={this.state.pagination}loading={this.state.loading}expandedRowRender={(record)=>{returnthis.state.showListDom[record.id]||null;}}onExpand={(expanded,record)=>this.expandFunction(expanded,record)||null}/>
Qyouu
浏览 1215回答 2
2回答
-
哆啦的时光机
原因就是getExpandData是异步的,你没有等待它返回数据就继续执行后面代码了。解决方式就是getExpandData的回调函数中拿到数据后继续render
打开App,查看更多内容
继续浏览精彩内容
继续