最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Vue @change event not working in <b-form-datepicker> - Stack Overflow

programmeradmin10浏览0评论

I am making a website that has a select form and datepicker form that sends an API request for data. I want to the update the data on every change of these forms, then a "submit" button is not required.

The select works perfectly by using the "@change", but this does not have any effect on the datepicker.

The template is.

<div class="d-flex flex-row flex-nowrap">
            <b-form-select v-model="region"
                           :options="regions"
                           class="select_box"
                           @change="get_data()"
            />
            <b-form-datepicker id="first_day_datepicker"
                               v-model="first_day"
                               :min="min_day"
                               :max="max_day"
                               class="mb-2"
                               @change="get_data()"
            />
            <b-form-datepicker id="last_day_datepicker"
                               v-model="last_day"
                               :min="min_day"
                               :max="max_day"
                               class="mb-2"
                               @on-change="get_data()"
            />
</div>

And the funtcion looks like this(simplified for example)

methods: {
        get_data() {
            console.log("Change data")
        },
}

I am making a website that has a select form and datepicker form that sends an API request for data. I want to the update the data on every change of these forms, then a "submit" button is not required.

The select works perfectly by using the "@change", but this does not have any effect on the datepicker.

The template is.

<div class="d-flex flex-row flex-nowrap">
            <b-form-select v-model="region"
                           :options="regions"
                           class="select_box"
                           @change="get_data()"
            />
            <b-form-datepicker id="first_day_datepicker"
                               v-model="first_day"
                               :min="min_day"
                               :max="max_day"
                               class="mb-2"
                               @change="get_data()"
            />
            <b-form-datepicker id="last_day_datepicker"
                               v-model="last_day"
                               :min="min_day"
                               :max="max_day"
                               class="mb-2"
                               @on-change="get_data()"
            />
</div>

And the funtcion looks like this(simplified for example)

methods: {
        get_data() {
            console.log("Change data")
        },
}
Share Improve this question edited Feb 25, 2021 at 21:59 Dan 63.2k18 gold badges111 silver badges119 bronze badges asked Feb 18, 2021 at 0:31 Baldvin BuiBaldvin Bui 731 silver badge5 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 6

The <b-form-datepicker> control has no change event in its event list.

But it does have an input event which gets emitted when updating v-model:

<b-form-datepicker id="first_day_datepicker"
  v-model="first_day"
  :min="min_day"
  :max="max_day"
  class="mb-2"
  @input="get_data()"
/>
<b-form-datepicker id="last_day_datepicker"
  v-model="last_day"
  :min="min_day"
  :max="max_day"
  class="mb-2"
  @input="get_data()"
/>
发布评论

评论列表(0)

  1. 暂无评论