【问题标题】:Displaying in ListItem in React Material UI在 React Material UI 中的 ListItem 中显示
【发布时间】:2021-01-08 04:25:02
【问题描述】:

在我的 ListItemText 辅助文件中显示多个有条件的文本时遇到问题。如果满足该条件,它应该显示几个特定的​​国家。现在的问题是它没有显示

这是我的代码

<ListItemText
  primary="Place(s) you been to"
  secondary={
    (`${formData?.Italy ? "You can go Italy " : ""}`,
    `${formData?.France ? "Hello France " : ""}`,
    `${formData?.Portugal ? "Welcome to Portugal " : ""}`,
    `${formData?.Spain ? "Hi Spain" : ""}`)
  }
/>;

如果我这样做,它会起作用

secondary={formData?.Italy ? "You can go to Italy " : ""}

【问题讨论】:

  • 有什么问题,你期望的例子是什么?
  • @hgb123。如果满足该条件,它应该显示该特定国家。现在的问题是它没有显示

标签: reactjs material-ui react-material


【解决方案1】:

如果只显示一个特定的国家,你应该使用三元运算符链接

secondary={ `${
  formData?.Italy
    ? "Italy "
    : formData?.France
    ? "France "
    : formData?.Portugal
    ? "Portugal"
    : formData?.Spain
    ? "Spain"
    : ""
}` }

多个

secondary={ `${["Italy", "France", "Portugal", "Spain"]
  .filter((country) => formData?.[country])
  .join(", ")}`
}

问题更改后更新

secondary={
    `${formData?.Italy ? "You can go Italy " : ""}`+
    `${formData?.France ? "Hello France " : ""}`+
    `${formData?.Portugal ? "Welcome to Portugal " : ""}`+
    `${formData?.Spain ? "Hi Spain" : ""}`
  }

如果你想在每个之间用逗号

secondary={ [
  `${formData?.Italy ? "You can go Italy" : ""}`,
  `${formData?.France ? "Hello France" : ""}`,
  `${formData?.Portugal ? "Welcome to Portugal" : ""}`,
  `${formData?.Spain ? "Hi Spain" : ""}`,
].filter(Boolean).join(", ") }

【讨论】:

  • 它可以显示几个国家,这就是为什么我在每个国家都放一个逗号
  • 很抱歉给您带来了困惑。意大利是一个变量,法国是一个变量,葡萄牙是一个变量,西班牙也是一个变量。如果意大利、法国、葡萄牙或西班牙的值为真,那么我将显示“意大利”等......
  • @Joseph formData?.['Italy'] 和 formData?.Italy 是一样的,仅供参考
  • 好的。但是例如,如果我想以不同的方式显示值,例如意大利是否为真,那么我将显示“您可以去意大利”。类似的东西
  • @Joseph 然后使用+ 而不是,
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-04-29
  • 1970-01-01
  • 2019-05-13
  • 2021-02-11
  • 2017-07-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多