Maison  >  Questions et réponses  >  le corps du texte

Comment ajouter/supprimer dynamiquement des champs d'emplacement basés sur des tableaux dans Vue JS

<p>J'ai le code suivant qui accepte qu'un emplacement contenant un champ HTML soit répété : </p> <pre class="brush:php;toolbar:false;"><div v-for="(ligne, index) en lignes" :key="index"> <div class="d-flex justifier-contenu-entre "> <nom de l'emplacement="champs"> </emplacement> <input v-model="row.value" /> <bouton @click="removeRow(index)" type="bouton"class="btn btn-ondes primaires-effet vagues-ondes flottantes-hauteur de la lumière-10-par " Supprimer <i class="fa fa-times-circle"></i> </bouton> </div> </div></pre> <p>Lorsque j'utilise <code>removeRow(index)</code>, cela supprime toujours le dernier emplacement. J'ai testé en utilisant <code><input v-model="row.value"></code> et l'entrée correcte a été supprimée ici, mais l'emplacement correct n'a jamais été supprimé. </p> <p>Je n'ai pas besoin que l'entrée dans l'emplacement soit dynamique ou interagisse avec Vue, je veux juste permettre à l'utilisateur d'ajouter/supprimer dynamiquement des lignes via le composant Vue. </p> <p>Veuillez jeter un œil aux deux méthodes que j'utilise pour ajouter/supprimer des lignes ci-dessous, au cas où tel serait le problème : </p> <pre class="brush:php;toolbar:false;">removeRow(index){ this.rows.splice(index, 1); }, ajouter une rangée(){ this.rows.push({valeur : 'test'}) }</pré> <p>Toute aide est grandement appréciée. </p>
P粉639667504P粉639667504417 Il y a quelques jours459

répondre à tous(1)je répondrai

  • P粉463824410

    P粉4638244102023-08-29 12:59:04

    Valeur pour votre v-for 循环元素添加一个独特的 key :

    <div-for="(row, index) in rows" :key="JSON.stringify(row)">

    Cela garantit que les éléments sont correctement supprimés du DOM.

    répondre
    0
  • Annulerrépondre