recherche

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

Comment implémenter l'application Vue pour transférer les options sélectionnées vers une autre page

<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粉308089080P粉308089080480 Il y a quelques jours581

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

  • P粉083785014

    P粉0837850142023-08-29 00:49:28

    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

    répondre
    0
  • P粉038161873

    P粉0381618732023-08-29 00:36:29

    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>

    répondre
    0
  • Annulerrépondre