我試圖創建一個使用引導日期選擇一個Vue公司2組件,但我陷入試圖選擇日期後更新輸入,這裏是我的代碼:的Vue 2日期選擇器組件
Vue.component('datepicker', {
template: '\
<input class="form-control datepicker"\
ref="input"\
v-bind:value="value"\
v-on:input="updateValue($event.target.value)"\
v-on:blur="updateValue($event.target.value)"\
v-on:focus="updateValue($event.target.value)"\
data-date-format="dd-mm-yyyy"\
data-date-end-date="0d"\
placeholder="dd-mm-yyyy"\
type="text" />\
',
props: {
value: {
type: String,
default: moment().format('DD-MM-YYYY')
}
},
mounted: function() {
},
methods: {
updateValue: function (value) {
this.$emit('input', value);
},
}
});
的值更新罰款如果通過鍵盤輸入,而不是在日曆中選擇。任何想法如何通過日曆獲取日期更新值?
** **更新
我已經得到了下面的代碼工作:
mounted: function() {
let self = this;
this.$nextTick(function() {
$('.datepicker').datepicker({
startView: 1,
todayHighlight: true,
todayBtn: "linked",
autoclose: true,
format: "dd-mm-yyyy"
})
.on('changeDate', function(e) {
var date = e.format('dd-mm-yyyy');
self.updateValue(date);
});
});
}
但現在更新日期選擇器的網頁上的所有實例的值。我怎樣才能設置它,所以它只會更新所選日期選擇器?
不需要你初始化嗎?一旦組件被安裝,例如,也可以使其變得容易。通過$('。datepicker')。datepicker(options)?在vue 2.0中,請記住在this。$ nextTick方法調用中執行此操作,以確保在調用之前存在DOM元素。 – Nik
你有沒有試過v-on:改變事件? –