Vuetify 2.3.4 日期选择器关闭内容点击似乎是 "malfunctioning"

Vuetify 2.3.4 date picker close-on-content click seems to be "malfunctioning"

我对 Vuetify 和 Vue.js 还很陌生。当我 select 约会时,我不确定我的 2 个日期选择器关闭时如何或为什么无法正常工作。此外,我从在线 documentation/api 处获取了这段代码:https://vuetifyjs.com/en/components/date-pickers/

它是在我 select 一个值之后关闭的日历。

根据文档,close-on-content-click 如果您希望日历在用户 select 值后关闭,则应设置为“true” .

在线示例有 close-on-content-click="false",但日历在 selection 之后关闭?为什么以及如何?

在我正在开发的页面上,我有两个日期选择器。它们都设置为 close-on-content-click="false"。其中一个在 selection 后关闭,一个没有。

为什么在线示例在不应该关闭的时候关闭了?为什么我的一半代码表现不正常?我很迷惑。我错过了什么吗?

相关代码如下。

<v-row>
    <v-col md6>
        <v-menu
                v-model="WhenStartedDate"
                :close-on-content-click="false"
                :nudge-right="40"
                transition="scale-transition"
                offset-y
                min-width="290px"
        >
            <template v-slot:activator="{ on, attrs }">
                <v-text-field
                        v-model="newEvent.whenStartedDate"
                        label="Event Start Date"
                        prepend-icon="event"
                        readonly
                        v-bind="attrs"
                        v-on="on"
                ></v-text-field>
            </template>
            <v-date-picker v-model="newEvent.whenStartedDate" @input="WhenStarteDate = false"></v-date-picker>
        </v-menu>
    </v-col>
    <v-col md6>
    </v-col>
</v-row>
<v-row>
    <v-col md6>
        <v-menu
                v-model="WhenEndedDate"
                :close-on-content-click="false"
                :nudge-right="40"
                transition="scale-transition"
                offset-y
                min-width="290px"
        >
            <template v-slot:activator="{ on, attrs }">
                <v-text-field
                        v-model="newEvent.whenEndedDate"
                        label="Event End Date"
                        prepend-icon="event"
                        readonly
                        v-bind="attrs"
                        v-on="on"
                ></v-text-field>
            </template>
            <v-date-picker v-model="newEvent.whenEndedDate" @input="WhenEndedDate = false"></v-date-picker>
        </v-menu>
    </v-col>
    <v-col md6>
    </v-col>
</v-row>

 

您的一个菜单运行正常,因为您在其中引用的其中一个变量中有拼写错误。另一个行为不正常,因为它具有正确的变量名称,并且它完全按照您的指示进行操作,即关闭菜单。

您传递给 v-model 的值充当 open/closed 状态,并且可能会 覆盖 close-on-content-click。每个菜单都附有两个 v-model:一个名为 WhenStartedDate,另一个名为 WhenEndedDate。您在两个日期选择器组件的每个 @input 事件中将它们设置为 false,这样做将强行关闭两个菜单......但不完全是,因为其中一个有错字他们:@input="WhenStarteDate = false" 少了一个“d”。这就是为什么那个 没有 关闭,而另一个

要在选择日期后保持两个菜单都打开,只需从两个 v-date-picker 中删除两个 @input="..." 处理程序即可。

codepen 中的示例:https://codepen.io/mlillie87/pen/ZEQRamL?editors=1010