React中更改Toast图标的颜色

问题描述 投票:0回答:1

我想使用条件更改烤面包组件的图标。我正在尝试使用三元运算符来执行此操作,但是无法正常工作。谁能帮我吗?我有以下想法:

renderResultadoManifestacao(){
  var tag = '';
  const listItems = this.state.resultList.map((d) => 
  //<li key={d.name}>{d.name}</li>);
    <Toast>
      {d.success == true ? tag = "success" : tag = "error" }
      <ToastHeader icon = {tag}> {d.chaveAcesso} </ToastHeader>
      <ToastBody>
        {d.resultado.map((r) =>
          <li key={r}>{r}</li>
        )}
      </ToastBody>
    </Toast>
  );

  return (
    <div>
      {listItems }
    </div>
  );
}
react-native react-bootstrap reactstrap
1个回答
0
投票

您可以在tag的功能内设置map变量。

renderResultadoManifestacao(){
        const listItems = this.state.resultList.map((d) => {
            var tag = d.success ? "success" : "error";
            return <Toast>
                {tag}
                <ToastHeader icon = {tag}> {d.chaveAcesso} </ToastHeader>
                <ToastBody>
                    {d.resultado.map((r) =>
                        <li key={r}>{r}</li>
                    )}
                </ToastBody>
             </Toast>
        });

        return (
            <div>
                {listItems}
            </div>
        );

}
© www.soinside.com 2019 - 2024. All rights reserved.