【发布时间】:2020-12-08 12:19:25
【问题描述】:
我在 Vue.js 的表单中有两个 BootstrapVue 日期选择器。我想实现一个假期管理器,这样您就可以定义假期的开始(输入 3)和结束日期(输入 4)。结束日期应大于或等于开始日期。我当前的实现如下所示:
<b-form-group
id="input-group-3"
label="Anfangsdatum:"
label-for="input-3"
>
<b-form-datepicker
id="input-3"
v-model="von"
placeholder="Anfangsdatum auswählen"
required
:min="minAnfang"
></b-form-datepicker>
</b-form-group>
<b-form-group id="input-group-4" label="Enddatum:" label-for="input-4">
<b-form-datepicker
id="input-4"
v-model="bis"
placeholder="Enddatum auswählen"
:min="minEnde"
required
></b-form-datepicker>
</b-form-group>
Vue中的数据部分实现如下:
data() {
const datum = new Date();
const datum_heute = new Date(datum.getFullYear(), datum.getMonth(), datum.getDate());
const minVon = new Date(datum_heute);
minVon.setDate(minVon.getDate()+ 1);
const minBis = new Date(datum_heute);
minBis.setDate(minVon.getDate()+1);
return {
Urlaubsart: "",
Grund: "",
von: "",
bis: "",
Status: "",
BenutzerID: 24,
minAnfang: minVon,
minEnde: minBis,
arten: [
{ value: null, text: "Wählen Sie die Urlaubsart aus" },
{ value: "Urlaub", text: "Urlaub" },
{ value: "Sonderurlaub", text: "Sonderurlaub" },
],
gruende: [
{ value: "Umzug", text: "Umzug" },
{ value: "Hochzeit", text: "Hochzeit" },
{ value: "Geburt", text: "Geburt" },
{ value: "Umzug", text: "Sonstiges" },
],
Urlaubstage: "",
};
}
那么如何确保结束日期等于或大于开始日期?
【问题讨论】:
-
一种选择是使用 get/set 将结束日期设为计算属性,如下所述:vuejs.org/v2/guide/computed.html#Computed-Setter 在设置期间,您可以检查输入并与开始日期进行比较。更好的是:在get中做check,当开始日期改变时,结束日期也会改变。
-
你能提供一个代码sn-p吗?我真的不明白你的意思。
标签: javascript vue.js datepicker bootstrap-vue