Ich möchte eine Javascript-Zeichenfolge erstellen, damit sie bei der Übergabe innerhalb eines div-Tags als Liste angezeigt wird
P粉478445671
P粉478445671 2023-09-03 23:13:31
0
2
616
<p>Ich versuche, mit JavaScript eine Zeichenfolge anzuzeigen, die eine Liste von Elementen in einem bestimmten Format innerhalb eines <code>div</code>-Tags enthält. Die Zeichenfolge enthält mehrere Elemente, die ich als Aufzählungsliste anzeigen möchte. Hier ist eine Beispielzeichenfolge: </p> <pre class="lang-js Prettyprint-Override"><code>const items = "Dies sind die Elemente:n1 applen2". </code></pre> <p>Ich möchte eine Zeichenfolge so formatieren, dass sie in einem <code>div</code>-Tag so aussieht: </p> <pre class="brush:php;toolbar:false;">Dies sind die Elemente: 1. Apfel 2.mango</pre> <p>Ich verwende React und Tailwind CSS und dieses Problem hängt mit React-Komponenten zusammen. </p>
P粉478445671
P粉478445671

Antworte allen(2)
P粉893457026

您可以迭代映射方法,只要遇到任何“/n”就将其拆分。此外,您也可以为此目的创建一个有序列表。例如,找到下面的代码。

import React from 'react';
    
const items = "\n1. apple\n2. mango";

const ListComponent = () => {
    const itemList = items.split('\n').map((item, index) => {
        const trimmedItem = item.replace(/^\d+\.\s/, '');
        if (item.trim()) {
          return <li key={index}>{ trimmedItem}</li>;
        }
        return null;
    });

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

export default ListComponent;
    

这是上面代码运行时的屏幕截图 运行上面的代码

P粉376738875

您应该用换行符分割字符串,然后将其映射到多个段落标签

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 类中

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage