仅验证日期选择器年份的最大日期不会触发vuex状态突变

时间:2019-05-22 17:56:19

标签: datepicker vuex vuetify.js

我写了一个小例子,尝试通过通过日期选择器(仅年份)选择年份来触发相关的vuex突变,从而尝试更新一年的vuex状态。除了好奇心外,它的效果很好。日期选择器的最大日期不会触发更改以更改状态。我希望有人能暗示为什么会这样,我可以做些什么,需要提及单击日历图标打开日历,这是示例:

https://codesandbox.io/embed/vuetifydialogexample-9l619?fontsize=14

1 个答案:

答案 0 :(得分:0)

如果您查看source code,它将比较字符串

export default function isDateAllowed (date: string, min: string, max: string, allowedFn: AllowedDateFunction | undefined) {
  return (!allowedFn || allowedFn(date)) &&
    (!min || date >= min) &&
    (!max || date <= max)

您的日期格式为2020-NaN-NaN,因此您的比较:

"2020-NaN-NaN" <= "2020" // false, that's why you can't select 2020
"2019-NaN-NaN" <= "2020" // true, you can select 2019

一种错误的解决方法是将最大值更改为2020-NaN-NaN

            <v-date-picker
                reactive
                show-current
                ref="picker" 
                v-model="date"  
                min="2018-NaN-NaN"
                max="2020-NaN-NaN"
                no-title
                >
            </v-date-picker>