Я пытаюсь реализовать плагин bootstrap-select (находится здесь https://developer.snapappointments.com/bootstrap-select/) в приложении ruby on rails с Vue.js в качестве фреймворка javascript.
Цель состоит в том, чтобы в одном selectВы можете выбрать категорию, а в другой - всех учителей, доступных для этой категории. Для этого я использую axios и vue, чтобы сделать запрос к моему собственному API, и использую его для заполнения второго выбора, и он отлично работает спростое поле выбора, однако я хочу, чтобы boottrap-select отображался, я знаю, что в плагине есть функция "selectpicker ('refresh')", чтобы сделать возможной перезагрузку опции, но моя консоль браузера утверждает, что selectpicker не является функцией при вызовеэто на моем экземпляре vue, однако я могу вручную запустить его на консоли браузера, однако он работает как задумано
Мой код:
js:
Vue.use(VueAxios, axios)
document.addEventListener('DOMContentLoaded', () => {
if(document.getElementById('enrollment_form')) {
var app = new Vue({
el: '#enrollment_form',
data: {
CategoryValue: null,
TeacherValue: null,
teachers: null,
},
methods: {
fetchTeachers() {
this.axios.get('/api/teachers/' + this.licenceTypeValue).then(response => (this.teachers = response.data))
$('.selectpicker').selectpicker('refresh');
}
},
})
}})
view:
<div class="row">
<div class="col-lg-5">
<div class="form-group">
<%= f.label :category %>*<br />
<%= f.collection_select(
:category,
Category.all,
:id,
:catgegory_name,
{include_blank: true},
{
class: 'form-control selectpicker',
"v-model" => "CategoryValue",
"v-on:change" => "fetchTeachers"
}
)%>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-5">
<div class="form-group">
<label for="teacher_id">Teacher</label>
<div>
<select id="teachers-list" class='form-control selectpicker' v-model="TeacherValue" data-fieldname = "TeacherValue">
<option label="" ></option>
<option v-for="teacher in teachers" :value="teacher.id"> {{teacher.name}} </option>
</select>
</div>
</div>
</div>
</div>
<div>
<%= f.hidden_field :teacher_id, {"v-model" => "TeacherValue"} %>
</div>
Наконец-то мое application.js
//= require rails-ujs
//= require activestorage
//= require jquery
//= require jquery_ujs
//= require popper
//= require bootstrap
//= require bootstrap-select
Я был бы очень признателен, если бы кто-то мог помочь, поскольку я просто не могу понять, что делать