【问题标题】:Vue.js datepicker not allowing the update of default value of input fieldVue.js datepicker 不允许更新输入字段的默认值
【发布时间】:2019-02-12 20:03:25
【问题描述】:

我在输入字段中使用 vue-date-picker 作为日期选择器功能,因为它 100% 符合我的要求。问题是它工作但在加载页面时我从数据库传递了一个默认值。但在我删除v-model 属性之前,它不会向我显示值。

当我删除此属性时,它没有更新从日期选择器日历中选择的日期。

这是我在html中使用的代码

<input type="text" id="regular-date" class="form-control w-p100" placeholder="eg. 21 August, 2018" readonly @focus="showRegularDate = true">
<transition name="calendar-fade">
    <date-picker color="#b173f8" :format="formatDate"
                 @close="showRegularDate = false"
                 v-if="showRegularDate"
                 v-model="regularDate"></date-picker>
</transition>

在我正在使用的格式的脚本中

<script>
        Vue.use(DatePicker)
        Vue.config.lang = 'en';
        new Vue({
            el: '.app',
            created: function () {
                var today = new Date
                this.minDateLimit = '' + today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + today.getDate()
                this.maxDateLimit = '' + today.getFullYear() + '-' + (today.getMonth() + 1) + '-' + (today.getDate() + 7)
            },
            data: {
                regularDate: '',
                regularDate_2: '',
                regularDate_3: '',
                regularDate_4: '',
                regularDate_5: '',
                showRegularDate: false,
                minDateLimit: '',
                minDate: '',
                showMinDate: false,
                maxDateLimit: '',
                maxDate: '',
                showMaxDate: false,
                rangeDate: '',
                showRangeDate: false,
                specifiedDate: '2016-4-19',
                showSpecifiedDate: false,
                formattedDate: '',
                showFormattedDate: false
            },
            methods: {
                formatDate(date) {
                    return moment(date).format('LLLL');
                },
                formatDate_2: function (date) {
                    return moment(date).format('LLLL');
                },
                formatDate_3: function (date) {
                    return moment(date).format('LLLL');
                },
                formatDate_4: function (date) {
                    return moment(date).format('LLLL');
                },
                formatDate_5: function (date) {
                    return moment(date).format('LLLL');
                }
            }
        })
    </script>

我只是将这个 vue 用于datepicker。是否有一些我应该做的设置或者我错过了什么?

【问题讨论】:

  • 好的我明白了,但是在评论中解释它很大
  • 让我们在聊天中讨论这个问题

标签: javascript vue.js vuejs2 datepicker vue-component


【解决方案1】:

在您的模板中,将日期选择器 @close 事件更改为 @close="closeDatePickerPopup"

并在您的方法对象中添加以下方法:

closeDatePickerPopup() {
   this.showRegularDate = false;
   console.log(this.regularDate);
   // here you have access to this.regularDate
   // and you could do whatever you want with this.regularDate
}

如果您想要 this.regularDate 的初始值,请添加此 sn-p :

created:function() {
   // ------------
},
mounted: function () {
   // initialize this.regularDate as follow    
   this.regularDate = "2018-09-08";
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-04
    • 2020-02-07
    • 2021-12-09
    • 2012-03-16
    • 2014-06-30
    • 2012-06-04
    • 2018-03-06
    相关资源
    最近更新 更多