Heim  >  Fragen und Antworten  >  Hauptteil

Ich möchte eine Javascript-Zeichenfolge erstellen, damit sie bei der Übergabe innerhalb eines div-Tags als Liste angezeigt wird

<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粉478445671P粉478445671433 Tage vor609

Antworte allen(2)Ich werde antworten

  • P粉893457026

    P粉8934570262023-09-04 17:19:03

    您可以迭代映射方法,只要遇到任何“/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;
        
    

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

    Antwort
    0
  • P粉376738875

    P粉3767388752023-09-04 16:57:06

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

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

    Antwort
    0
  • StornierenAntwort