【问题标题】:Antd Column render async functionAntd Column 渲染异步函数
【发布时间】:2020-09-28 15:20:18
【问题描述】:

我试图通过名为 func1 的异步函数通过列的渲染属性填充 Antd 表中的列(不在数据中):

...
o.render = (text, record) => (<Progress percent = { func1.then((res)=> {return res} ) />)
...

问题不是显示异步函数的返回值,而是显示[object Promise]。

如何从 中获取正确的值并准确显示?

任何指针表示赞赏..

【问题讨论】:

  • 您传递了一个承诺,这就是它记录为 obj 的原因,您需要事先解决它。
  • @DennisVash 谢谢你,请问我该怎么做?
  • 您可以将结果置于一个状态,解析func1 中的useEffect 或您使用的任何内容,然后传递它。
  • @DennisVash 实际上不可能,因为 func1 接收特定于该行的参数.. :(
  • 所有可能,你渲染一个组件,你可以制作一个 Row 组件并在那里做。

标签: javascript reactjs antd


【解决方案1】:

没有任何上下文,可能的解决方案可能如下所示:

o.render = (text, record) => (
  <RowComp text={text} record={record} promise={func1} />
);

const RowComp = ({ promise, ...props }) => {
  useEffect(async () => {
    const res = await promise;
    setResult(res);
  }, []);
  ...
};

【讨论】:

  • 感谢这个模型实现是要走的路。我设法让它工作。谢谢
猜你喜欢
  • 1970-01-01
  • 2019-02-03
  • 2019-02-15
  • 2019-09-19
  • 1970-01-01
  • 2022-11-23
  • 2022-07-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多