反应,使用 .MAP内部为(对象)的内部

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

我知道你的反应不能使用<html>像琴弦,我正在寻找一个解决方案,但我没有看到明确的,如何在这种复杂的逻辑,你可以插入<br/>对象,而不是像串,因为变量“NEWVALUE”需要存储和有条件地增加BR分开行的元素。

  let values = JSON.parse(value);
  let newvalue = '';
  values.map((item) => {
    for (const key in listViewField.subfields) {
      let nameField = key;
      if (typeof item[nameField] !=='undefined') {
        newvalue += item[nameField]+ ' ';
      }
    }
    // if (newvalue.trim() !=='') newvalue += '<br/>'; // doesn't work
  });
  value = newvalue;
  return <div key={keyIndex}>{value}</div>;
reactjs
2个回答
4
投票

而不是使用的地图,你可以遍历你的价值观和他们推到一个数组。

let values = JSON.parse(value);
let contents = [];

for (let value of values) {
  contents.push(<span key={value.key}>{value.name}</span>);

  if (value.condition) {
    contents.push(<br key={`${value.key}-br`} />);
  }
});

return <div>{contents}</div>;

不要忘了一个独特的键添加到每个项目。


0
投票

要添加不同的选项,如果你想与map使用它,你的item是简单的字符串,那么你可以做这样的事情。

items.map((item, key) => {
    <span style={{whiteSpace: 'pre'}} key={key}>{item + '\n'}</span>
});

请注意,我已经加入style={{whiteSpace: 'pre'}}+ \n

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