vue.js - vue应用中如何将选中的选项转移到另一个页面?

标签 vue.js vuetify.js vue-router

在我的 Vue 应用程序的第一页上,我有一个包含邮箱列表的下拉菜单。
我想保存选择的值/文本并将其用作我路由到的收件箱页面上的参数或变量。
这是使用 v-autocomplete 的下拉代码:

<v-autocomplete dense
  filled
  label="Choose Mailbox"
  v-model="mailboxes"
  :items="mailboxes"
  item-text='mailbox'
  item-value='mailbox'>
</v-autocomplete>
这是按钮 v-btn 路由到收件箱页面。
<v-btn rounded color="primary" 
  @click="$router.push('Inbox')">
Load Mailbox</v-btn>
如何保存选定的邮箱值以在路由至收件箱页面上使用?

最佳答案

我建议你开始使用 Vuex :)
它是一个在整个应用程序中共享 react 数据对象的库。
以下是它对您的外观:

// /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="Choose Mailbox"
        :items="mailboxes"
        item-text='mailbox'
        item-value='mailbox'>
      </v-autocomplete>
</template>

<script>
export default {
   computed: {
      mailboxes: {
         get() {
            this.$store.state.mailbox // Get the value from the Vuex store
         },
         set(newMailbox) {
            this.$store.commit('SET_MAILBOX', newMailbox) // Update the Vuex store
         },
      }
   }
}
</script>

关于vue.js - vue应用中如何将选中的选项转移到另一个页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68351330/

相关文章:

javascript - Vuejs 过渡仅在幻灯片打开时发生

javascript - 汉堡包图标未在 Vuetify 2.0 中显示

vue.js - 为每个路由器 View 设置不同的指令

javascript - 如何通过动态路由匹配捕获更多的路径?

javascript - Vuejs - 如何将 Prop 从数据中的数组传递给子组件?

ssl - VueJS (Nuxt) 错误,安装新的 SSL 证书时

javascript - 如何在 Vuetify 中显示 <v-text-field> 的动态占位符文本?

stylus - 如何使用自定义颜色覆盖 Vuetify 变量?

vue.js - 什么是 Vuetify v-menu 组件 'save' 方法?

javascript - vue中路由更改后如何重新渲染已安装的组件?