如何从Vuetify中只选择年份?
我有一个需求,在这里我需要一个下拉选择只选择年份YYYY。
但是,默认的Vuetify日期选择器会选择整个YYYY-MM-DD格式。


发布于 2018-07-19 18:19:13
我在数据选择器的源代码中看到,year类型是计划好的,并将在将来实现。来自源代码道具:
类型: String,默认值:'date',验证器:键入=> 'date',‘月份’。
但是我可以通过no-title实现这一点,防止日期选择器切换到月/日窗口并关闭v-menu。您可以看到工作示例- 从docs更改代码。
你也可以玩格式化标题和标题,以获得更好的结果,如果你想。
发布于 2020-06-12 19:50:25
它不支持使用type道具。
但解决办法是将this.$refs.picker.activePicker设置为键入YEAR。我们可以创建一个监视程序来查看菜单属性,并在打开菜单时将activePicker更改为YEAR:
watch: {
menu (val) {
val && this.$nextTick(() => (this.$refs.picker.activePicker = 'YEAR'))
}
}接下来,我们需要在用户选择一年后立即关闭菜单。我们通过在选择器上添加@click:year事件来做到这一点:
<v-date-picker
v-model="year"
ref="picker"
no-title
scrollable
@click:year="saveYear(year)"
>
<v-spacer></v-spacer>
<v-btn text color="primary" @click="menu = false">Cancel</v-btn>
<v-btn text color="primary" @click="saveYear(year)">OK</v-btn>
</v-date-picker>saveYear方法:
saveYear(year) {
this.$refs.menu.save(year)
// Reset activePicker to type YEAR
this.$refs.picker.activePicker = 'YEAR'
// Close the menu/datepicker
this.menu = false
}发布于 2022-03-04 14:50:49
我的解决方案:
<v-date-picker
v-model="year"
ref="picker"
no-title
scrollable
@input="saveYear(year)"
>
</v-date-picker>saveYear方法:
saveYear(year) {
this.$refs.picker.internalActivePicker = 'YEAR'
}年表:
year (val) {
if (val){
this.$refs.picker.internalActivePicker = 'YEAR'
}
}https://stackoverflow.com/questions/51427972
复制相似问题