Having trouble getting help?
Contact Support
Contact Support
Two way binding in Vue Daterangepicker component
11 Jun 20243 minutes to read
Two-way binding can be achieved by using the v-model
directive in Vue. In the following sample, when you change the value in oneDateRangePicker component, v-model will automatically update the value in the other DateRangePicker.
The following example demonstrates how to set the two-way-binding
in the DateRangePicker.
<template>
<div id="app">
<div id="wrapper1">
<ejs-daterangepicker id="daterangepicker" :placeholder="waterMark" v-model="date"></ejs-daterangepicker>
</div>
<div id="wrapper2">
<ejs-daterangepicker id="daterangepicker1" :placeholder="waterMark" v-model="date"></ejs-daterangepicker>
</div>
</div>
</template>
<script setup>
import { DateRangePickerComponent as EjsDaterangepicker } from "@syncfusion/ej2-vue-calendars";
import { ref } from 'vue';
const waterMark = "Select a Range";
const date = ref(null);
</script>
<style>
@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";
@import "../node_modules/@syncfusion/ej2-vue-calendars/styles/material.css";
#wrapper1 {
min-width: 250px;
float: left;
margin-left: 100px;
}
#wrapper2 {
min-width: 250px;
float: right;
margin-right: 100px;
}
</style>
<template>
<div id="app">
<div id="wrapper1">
<ejs-daterangepicker id="daterangepicker" :placeholder="waterMark" v-model="date"></ejs-daterangepicker>
</div>
<div id="wrapper2">
<ejs-daterangepicker id="daterangepicker1" :placeholder="waterMark" v-model="date"></ejs-daterangepicker>
</div>
</div>
</template>
<script>
import { DateRangePickerComponent } from "@syncfusion/ej2-vue-calendars";
export default {
name: "App",
components: {
"ejs-daterangepicker": DateRangePickerComponent
},
data: function () {
return {
waterMark: "Select a Range",
date: null
};
}
}
</script>
<style>
@import "../node_modules/@syncfusion/ej2-base/styles/material.css";
@import "../node_modules/@syncfusion/ej2-buttons/styles/material.css";
@import "../node_modules/@syncfusion/ej2-vue-calendars/styles/material.css";
#wrapper1 {
min-width: 250px;
float: left;
margin-left: 100px;
}
#wrapper2 {
min-width: 250px;
float: right;
margin-right: 100px;
}
</style>