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

v-for n'a pas d'option pour l'installer

J'ai un problème avec mon v-for. J'appelle l'API et récupère les données, mais le v-for n'est pas mis à jour.

Voici mon html :

<input list="listenomspartenaires" id="inputlistenomspartenaires" type="text" name="nominputlistenomspartenaires">
        <datalist id="listenomspartenaires">
           <option v-for="partenaire in listedespartenaires" :value="partenaire.nom" :key="partenaire.idpartenaire" :data-idpartenaire="partenaire.idpartenaire" />  <!--  -->
</datalist>

et mon JS :

<script lang="js">
    import { defineComponent } from 'vue';

    export default defineComponent({
        data() {
            return {
                listedespartenaires : []
            };
        },
        methods:{            
            SetNoms(lesnoms){
                this.listedespartenaires = lesnoms;
                alert(lesnoms);
            }
        },
        mounted() {
            fetch("https://localhost:7264/api/partenaires/GetNoms")
                .then((response) => response.text())
                .then((data) => this.SetNoms(data));
        }
    });
</script>

L'alerte affiche les données afin qu'elles puissent être récupérées correctement, mais ma saisie n'est pas valide.

J'ai aussi essayé d'attribuer des "listedespartenaires" directement depuis le get sans le passer par la méthode, mais le résultat est le même.

J'ai aussi essayé this.$forceUpdate(); après avoir assigné des "listedespartenaires". Mais aucun succès.

Quelqu'un peut-il m'aider ?

Merci,

Philippe

P粉988025835P粉988025835182 Il y a quelques jours392

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

  • P粉308089080

    P粉3080890802024-04-04 10:08:49

    EssayezJSON。 parse() Votre réponse :

    const app = Vue.createApp({
      data() {
        return {
          listedespartenaires : [],
          selected: null
        };
      },
      methods:{            
        setNoms(lesnoms){
          this.listedespartenaires = JSON.parse(lesnoms);
          //alert(lesnoms);
        }
      },
      mounted() {
        fetch("https://jsonplaceholder.typicode.com/users")
          .then((response) => response.text())
          .then((data) => this.setNoms(data));
      }
    })
    app.mount('#demo')
    sssccc
    
    {{ selected }}

    répondre
    0
  • Annulerrépondre