Je souhaite créer une chaîne javascript afin que lorsqu'elle est passée dans une balise div, elle s'affiche sous forme de liste
P粉478445671
P粉478445671 2023-09-03 23:13:31
0
2
558
<p>J'essaie d'utiliser JavaScript pour afficher une chaîne contenant une liste d'éléments dans un format spécifique à l'intérieur d'une balise <code>div</code> La chaîne contient plusieurs éléments que je souhaite afficher sous forme de liste à puces. Voici un exemple de chaîne : </p> <pre class="lang-js Prettyprint-override"><code>const items = "Ce sont les éléments : n1 applen2". </code></pre> <p>Je souhaite formater une chaîne pour qu'elle apparaisse comme ceci à l'intérieur d'une balise <code>div</code> <pre class="brush:php;toolbar:false;">Voici les éléments : 1. pomme 2.mangue</pré> <p>J'utilise React et Tailwind CSS et ce problème est lié aux composants React. </p>
P粉478445671
P粉478445671

répondre à tous(2)
P粉893457026

Vous pouvez parcourir la méthode de mappage et la diviser chaque fois qu'elle rencontre un "/n". Vous pouvez également créer une liste ordonnée à cet effet. Par exemple, recherchez le code ci-dessous.

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;
    

Voici une capture d'écran du code ci-dessus en cours d'exécution Exécutez le code ci-dessus

P粉376738875

Vous devez diviser la chaîne avec des sauts de ligne, puis la mapper à plusieurs balises de paragraphe

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");

Puis en html :

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

Maintenant la liste s'affiche correctement, si les éléments sont centrés et que vous souhaitez qu'ils soient alignés à gauche, tapez simplement text-align: left dans la classe CSS de la liste

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!