私はブートストラップ日付ピッカーを使用してVueの2コンポーネントを作成しようとしていますが、日付が選択された後、入力を更新しようとして立ち往生していますが、ここに私のコードは次のとおりです。ヴュー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')を介して。datepicker(options)? vue 2.0では、これをこの内部で行うことを忘れないでください。呼び出しの前にDOM要素が存在することを確認する$ nextTickメソッド呼び出し。 – Nik
あなたはv-onを試しましたか:change event? –