我是VueJS的新手。我想获取选定的日期范围的值,并在用户单击按钮时console.log
的值。但是,每当我单击按钮时,控制台中的打印值是null
。请帮助。
这是代码:
App.vue
<template>
<div id="app">
<VueRangedatePicker v-model="datepicker"></VueRangedatePicker>
<button class="button" @click="showdata()" value="Test">Normal</button>
</div>
</template>
<script>
import VueRangedatePicker from "vue-rangedate-picker";
export default {
name: "App",
components: {
VueRangedatePicker
},
data() {
return {
datepicker: null
};
},
methods: {
showdata() {
console.log("DATE PICKER", this.datepicker);
}
}
};
</script>
<style>
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
可以here访问代码。
答案 0 :(得分:3)
要使v-model
工作,组件需要有一个名为value
的道具并发出input
事件。
VueRangedatePicker
不have那个道具或事件。相反,它在更新时会发出一个selected
事件。您可以使用@selected
listen。例如:
<VueRangedatePicker @selected="updateDatePicker"></VueRangedatePicker>
methods: {
showdata() {
console.log("DATE PICKER", this.datepicker);
console.log("start: " + this.datepicker.start);
console.log("end: " + this.datepicker.end);
},
updateDatePicker(value) {
console.log("updating datepicker value");
this.datepicker = value;
}
查看更新的代码here。