Если квазар-загрузка не работает для вас, и вы используете vuex для управления состоянием, вы можете попытаться написать собственный код для выполнения sh того, что вы хотите. Попробуйте это для отправки запроса на публикацию с использованием ax ios
createEvents({ commit }, payload) {
const stuff = {
title: payload.title,
location: payload.location,
description: payload.description,
image = payload.image;
};
let formData = new FormData();
bodyFormData.set('title', stuff.title); //done for the text data
formData.append("imageUrl", stuff.image); //done for file data
axios
.post({
method: 'post',
url: 'myurl',
data: formData,
headers: {'Content-Type': 'multipart/form-data' }
})
.then(response => {
commit("createEvents", response.data);
})
.catch(err => err.data);
}
}
А для функции (метода) отправки это должно выглядеть примерно так
createEvent(){
const newEvent = {
title: '',
location: '',
description: '',
image: this.image,
};
this.$store.dispatch("createEvents", newEvent);
};
наконец, сама форма в вашем коде. На изображение следует ссылаться простым <input type='file' ref='image'>
, а остальная часть вашей формы может быть нормальной
<form>
<input type='text' v-model='text'>
<-- more of the same -->
<input type='file' ref='image'>
<button type=submit @click.prevent=createEvent()>submit</button> //prevent is to keep the page from reloading when the form gets submitted, just a precaution measure
</form>
Надеюсь, это помогло