【发布时间】:2021-06-04 16:36:53
【问题描述】:
我为 Vuetify v-date-picker 创建了一个可重用的组件。我使用道具来允许从父组件到子组件的值设置。然后我在子组件中为日期范围创建了一个计算属性,以允许更改道具。
v-date-picker 在首次加载时选择了日期范围,但无法对其进行任何更改。
模板:
<v-date-picker
v-model="dateRange"
color="green"
no-title
range
scrollable
>
<v-spacer></v-spacer>
<v-btn text color="primary" @click="onCancel">
Cancel
</v-btn>
<v-btn text color="primary" @click="onSave">
OK
</v-btn>
</v-date-picker>
脚本
props: {
range: {
type: Array,
default: () => {
return [
moment()
.startOf("month")
.format("YYYY-MM-DD"),
moment()
.endOf("month")
.format("YYYY-MM-DD")
];
}
},
},
computed: {
dateRange: {
get() {
return this.range;
},
set(value) {
return value;
}
},
}
但如果我不使用计算属性作为来自道具的 v-model,则选择有效。
模板:
<v-date-picker
v-model="dates"
color="green"
no-title
range
scrollable
>
<v-spacer></v-spacer>
<v-btn text color="primary" @click="onCancel">
Cancel
</v-btn>
<v-btn text color="primary" @click="onSave">
OK
</v-btn>
</v-date-picker>
脚本:
data() {
return {
dates: [
moment()
.startOf("month")
.format("YYYY-MM-DD"),
moment()
.endOf("month")
.format("YYYY-MM-DD")
]
}
}
【问题讨论】:
-
你有什么错误吗?
-
@MobinSamani 我没有收到任何错误。如果我使用来自 prop 值的计算属性作为 v-model,我不能只在 v-date-picker 上选择一个范围
标签: vue.js vue-component vuetify.js