在 Vuetify 中,当在其中的 AppDateTimePicker 中选择日期时,VMenu 会关闭

问题描述 投票:0回答:2

我正在使用 Vue 主题 Vuexy(Vue 和 Vuetify),我遇到了 VMenu 的问题,因为它有一个 AppDateTimePicker(Vuetify 的 DatePicker),当选择日期时,它会被菜单关闭,如何防止菜单关闭???

这是我的代码

<VMenu width="300" height="450" :scrim="true" >
  <template #activator="{ props }" v-slot:activator="{ on: { click } }">
    <VIcon class="cursor-pointer" icon="tabler-settings-plus" v-bind="props" @click="updateEditIndex(indexUpper)"></VIcon>
  </template>
  <VList>
    <VListItem v-for="(item, indexLower) in menuItems" :key="indexLower" :active="false">
      <div class="d-flex flex-column ml-2" v-if="item.type === 'checkbox'">
        <VCheckbox v-model="field[item.value]" :label="item.title" />
        <p class="text-body-2">{{ item.description }}</p>
      </div>
      <div class="d-flex flex-column ml-2" v-if="item.type === 'textfield'">
       /// Some Input Fields
      </div>
                          
      <div class="d-flex flex-column ml-2" v-if="item.type === 'date'">
        <AppDateTimePicker :label="item.title" placeholder="Pick up the date" v-model="field[item.value]"  />
      </div>
    </VListItem>
  </VList>
</VMenu>

我在日期选择器上尝试过

@click.stop
,在菜单上尝试过
:close-on-content-click="false"
,但没有任何效果。

任何帮助将不胜感激 预先感谢

javascript vue.js menu vuetify.js vuetifyjs3
2个回答
0
投票

我找到了一种方法来完成这项工作。 您可以使用接收

persistent
的道具
boolean
。 当您选择日期时,这将阻止对话框关闭,但当您单击其外部时,它也会阻止对话框关闭。如果你这样做,你会注意到选择日期后有一个快速动画,如果你不想,你可以使用道具
no-click-animation
,它也会收到
boolean
。示例:

    <VDialog
      :width="580"
      :model-value="ClickFunction(foo)"
      no-click-animation
      persistent
    ></VDialog

0
投票

移除此道具

@update:model-value="dialogModelValueUpdate"

来自您的

<VDialog />
组件。

我不知道确切的原因,但可能是因为模型值,与

内部的模型值名称冲突
© www.soinside.com 2019 - 2024. All rights reserved.