v-menu:在 nuxt 项目中推送路由时,激活器插槽中的 v-text-field 消失

v-menu: v-text-field in activator slot disappears when pushing route in nuxt project

在我的 nuxt 项目中,我使用 Vuetify。我从用户那里获取日期,当用户通过单击保存按钮更改页面时,v-text-field 在页面更改之前消失,然后再转到下一页。这是因为路线改变,但我找不到解决这个问题的方法。

<v-menu v-model="menu"
            :close-on-content-click="false"
           transition="scale-transition"
           rounded
           nudge-bottom="60px"
           min-width="290px">

       <template v-slot:activator="{ on, attrs }">
           <v-text-field :value="formatDateText"
                         label="Birth Date"
                         v-bind="attrs"
                         v-on="on"
                         offset-y
                         hide-details>
           </v-text-field>
       </template>
       <v-date-picker no-title
                       v-model="date"
                       @change="dateChangeFormat(formatDate)"
              
       />
     </v-menu>

我找到了 2 个解决这个问题的方法。第一个解决方案是使用

 features: {
    transitions: false
  },

里面 nuxt.config.js

第二种解决方案:将 ref 添加到 v-menu。

   <v-menu v-model="menu"
            ref="menu"
            :close-on-content-click="false"
            transition="scale-transition"
            rounded
            nudge-bottom="60px"
            min-width="290px">

在脚本区;

   beforeDestroy() {
        this.$refs.menu.activatorNode = null;
    },