访问请求数据进不去,是异步问题吗?

问题说明

getModelVersion( ) 后台请求数据

参数限定

getCurrentData只有一个参数record

相关代码

  getCurrentData = (record) => {
    const { searchParams } = this.state;
    const params = {
      status: searchParams.status,
      modelId: record.id,
    };
    getModelVersion(params).then((result) => { //始终进不去
      if (result.length > 1) {
        return '';
      } else {
        return styles.disabledRow;
      }
    });
  }

render内Table

<Table
   className={styles.subTable}
   dataSource={this.state.SampleData}
   ....
   ....
   expandedRowKeys={expandedRowKeys}
   onExpandedRowsChange={this.onExpandedRowsChange}
   rowClassName={(record) => { return this.getCurrentData(record); }} // 这里用到
/>

结果是什么?

getCurrentData返回undefined

阅读 3.2k
5 个回答

加个return试下

clipboard.png

更新

getCurrentData = (record) => {
    ...
    return Promise.resolve({}).then(=>{
        return getModelVersion(params) =>{
        .......
        }
    })
    ...
}

应该是getModelVersion这个方法出问题了,检查一个这个方法是否正确

这里不应该用异步吧

使用 ES7 async await 语法。

  getCurrentData = async (record) => {
    const { searchParams } = this.state;
    const params = {
      status: searchParams.status,
      modelId: record.id,
    };
    const result = await getModelVersion(params);
    if (result.length > 1) {
        return '';
      } else {
        return styles.disabledRow;
      }
  }

1、确认一下网络请求是否发送出去
2、getModelVersion代码show一下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题