我想创建一个javascript字符串,这样当它在div标签中传递时,它会显示为一个列表

gblwokeq  于 2023-06-20  发布在  Java
关注(0)|答案(5)|浏览(128)

我尝试使用JavaScript在div标记中以特定格式显示包含项目列表的字符串。该字符串包含几个项目,我想显示为项目符号列表。下面是示例字符串:

const items = "These are the items:\n1. apple\n2. mango";

我想格式化字符串,使其在div标记中显示如下:

These are the items:
1. apple
2. mango

我正在使用React和Tailwind CSS,这个问题与React组件有关。

p5fdfcr1

p5fdfcr11#

你可以将它作为innerText传递:

const items = "These are the items:\n1. apple\n2. mango";
document.getElementById("thediv").innerText=items;
<div id="thediv"></div>
c9x0cxw0

c9x0cxw02#

您可以迭代map方法,只要遇到任何'/n'就拆分它。此外,您也可以为此目的创建一个有序列表。例如,找到下面的代码。import React from 'react';

const items = "These are the items:\n1. apple\n2. mango";

const ListComponent = () => {
  const itemList = items.split('\n').map((item, index) => {
    if (item.trim()) {
      return <p key={index}>{item}</p>;
    }
    return null;
  });

  return (
    <div>
      <p>Here is the list:</p>
      <div>{itemList}</div>
    </div>
  );
};

export default ListComponent;

下面是运行running the above code时上述代码的屏幕截图

zour9fqk

zour9fqk3#

您应该用换行符分割字符串,然后将其Map到多个段落标记中

const items = "These are the items:\n1. apple\n2. mango";

// or if you want it t be reactive:
const [items, setItems] = useState("These are the items:\n1. apple\n2. mango");

然后在html中:

<div className="list">
      {items.split('\n').map((el) => (
         <p>{el}</p>
       ))}
    </div>

现在列表显示正确,如果项目居中,你想让它们左对齐,只需输入text-align:left;在列表css类中

kjthegm6

kjthegm64#

你应该解析你的字符串以得到一个列表。一个非常简单的解析是:items.split('/n')
你会收到
["These are the items:", "1. apple", "2. mango"]现在很容易显示

mfpqipee

mfpqipee5#

const string = "These are the items:\n1. apple\n2. mango";
console.log(string.split("\n"));

相关问题