Я работаю в WordPress и использую плагин формы. С помощью этого плагина я сделал выпадающий список состояний / городов. v-модель работает с раскрывающимся списком состояний, поскольку она уже присутствует при загрузке страницы, однако, поскольку элемент city создается после выбора раскрывающегося списка состояний, v-модель для этого не работает. Как мне заставить это работать?
var entriesList = new Vue({
el: "#vfm-search",
data: {
entries: [],
loading: true,
nameFilter: '',
partyFilter: '',
houseFilter: '',
stateFilter: '',
constFilter: '',
isMember: ''
},
created: function () {
this.fetchData();
},
watch: {
nameFilter: "fetchData",
partyFilter: "fetchData",
houseFilter: "fetchData",
stateFilter: "fetchData",
constFilter: "fetchData",
isMember: "fetchData"
},
methods: {
fetchData: function () {
this.getApi();
},
getApi: function (page=1) {
var self = this;
this.loading = true; //start loading
axios.get('/wp-json/frm/v2/views/'+vfmapijs.view_id, {
headers: {
Authorization: 'Basic '+ btoa( vfmapijs.apiKey +':x' )
},
params: {
page: page,
pname: self.nameFilter,
pstate: self.stateFilter,
pparty: self.partyFilter,
phouse: self.houseFilter,
pconst: self.constFilter, //<------ this doesn't work on the newly created property
is_mem: self.isMember
}
})
.then((response) => {
this.loading = false; //stop loading
this.entries = response.data.renderedHtml;
})
.catch((error) => {
this.loading = false; //stop loading
console.error(error)
})
}
},
mounted: function() {
this.$el.addEventListener('click', ev => {
// detect if a pagination link is clicked
if( !ev.target.matches('.frm_pagination a') ) return;
ev.preventDefault();
let page = ev.target.href.match(/rm-page-16=(\d+)/)[1];
this.getApi(page);
})
}
})