Comment implémenter l'application Vue pour transférer les options sélectionnées vers une autre page
P粉308089080
P粉308089080 2023-08-28 09:44:23
0
2
580
<p>Sur la première page de mon application Vue, j'ai un menu déroulant contenant une liste d'adresses e-mail. </p> <p>Je souhaite enregistrer la valeur/le texte sélectionné et l'utiliser comme paramètre ou variable sur la page de boîte de réception vers laquelle je me dirige. </p> <p>Voici le code du menu déroulant utilisant v-autocomplete : </p> <pre class="brush:html;toolbar:false;"><v-autocomplete dense rempli label="Sélectionner un e-mail" v-model="boîtes aux lettres" :items="boîtes aux lettres" item-text='boîte aux lettres' item-value='boîte aux lettres'> </v-autocomplete> ≪/pré> <p>Il s'agit d'un bouton qui agit comme un v-btn et est utilisé pour accéder à la page de la boîte de réception. </p> <pre class="brush:html;toolbar:false;"><v-btn arrondi couleur="primaire" @click="$router.push('Boîte de réception')"> Charger la boîte aux lettres</v-btn> ≪/pré> <p>Comment puis-je enregistrer la valeur d'une boîte aux lettres sélectionnée pour l'utiliser sur la page de boîte de réception vers laquelle je suis acheminé ? </p>
P粉308089080
P粉308089080

répondre à tous(2)
P粉083785014

Passez la valeur sélectionnée comme paramètre de routage :

$router.push({
    name: "Inbox",
    params: { selectedValue: YOUR_VALUE }
  });

Dans la page Boîte de réception, vous pouvez accéder via :

$route.params.selectedValue
P粉038161873

Je vous recommande de commencer à utiliser Vuex :)

Il s'agit d'une bibliothèque qui peut partager des objets de données réactifs dans toute votre application.

Voici des exemples de votre code possible :

// /store/index.js

export state: () => {
   mailbox: '',
}

export mutation: () => {
   SET_MAILBOX(state, mailbox) {
      state.mailbox = mailbox
   }
}
// your-page.vue
<template>
    <v-autocomplete
        v-model="mailboxes"
        dense
        filled
        label="选择邮箱"
        :items="mailboxes"
        item-text='mailbox'
        item-value='mailbox'>
      </v-autocomplete>
</template>

<script>
export default {
   computed: {
      mailboxes: {
         get() {
            this.$store.state.mailbox // 从Vuex存储中获取值
         },
         set(newMailbox) {
            this.$store.commit('SET_MAILBOX', newMailbox) // 更新Vuex存储
         },
      }
   }
}
</script>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal