鍍金池/ 問答/HTML/ expandedRowRender 展開時數(shù)據(jù)時,如何解決每行之間數(shù)據(jù)請求出現(xiàn)干

expandedRowRender 展開時數(shù)據(jù)時,如何解決每行之間數(shù)據(jù)請求出現(xiàn)干擾?

問題描述

1:點擊“+”號,不斷重復請求數(shù)據(jù),關閉“+”號,停止請求
2:點擊展開第一行的基礎上,再點擊第二行,兩行返回的數(shù)據(jù)會互相干擾

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

試過在expandedRowRender加上參數(shù)(record, index),并在方法返回的子項列表中使用:rowkey={index},沒有用

相關代碼

嵌套的子表格展開:

expandedRowRender = (record) => {
    if (record) {
      const param = {
        modelId: record.id,
      };
      getModelVersion(param).then((result) => {
        this.setState({
          ...this.state,
          subData: result || [],
          searchParams: {
            status: result.status,
            deptId: result.deptId,
          },
        });
      });
    }
    const subList = this.state.subData.map((v) => {
      return {
        ...v,
        todo: v.status,
      };
    });
    return (
      <Table
        columns={this.detailsColumns}
        dataSource={subList}
        pagination={false}
        // rowKey={index}
        // rowKey={record.id || record.key}
        // showHeader={false}
      />);
  };

render方法內的(用到expandedRowRender)

<Table
    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 => this.expandedRowRender(record)}
    // expandedRowRender={(record, index) => this.expandedRowRender(record, index)}
 />

你期待的結果是什么?實際看到的錯誤信息又是什么?

clipboard.png

clipboard.png

回答
編輯回答
撥弦

clipboard.png

2018年2月2日 19:06