Всем привет. В общем есть компонент, в нем метод с помощью которого гружу файлы на серв, если все ок отдаю список файлов на клиент. Вроде этого
handleUpload(event) {
let files = [];
let mediaFiles = event.target.files
Object.keys(mediaFiles).map(key => {
files['mediaFiles[' + key + ']'] = mediaFiles[key];
});
axios.post('/backend/media/item/create', files)
.then((response) => {
if (response.data.errors) {
return this.errors = response.data.errors
}
return this.items = response.data.items;
})
.catch(function(err) {
return Promise.reject(err.status);
});
}
Хочу добавить кнопки для действий над файлом/файлами, т.е. к примеру если файлов больше 0 отрисовать кнопку для удаления, если меньше - удалить кнопку, я так понял вотчеры для этого подходят идеально(хотя не уверен). Делаю что-то вроде этого
watch: {
items: function(items) {
if ( items.length > 0 ) {
this.buttons.push({
id: 'remove-all',
text: 'Удалить все',
type: 'danger',
plain: true,
click: this.handleRemoveAll
});
}
}
}
*this.buttons - массив объектов, который я потом рендерю с помощью createElement
Получаю две проблемы - кнопка отрисовывается дважды, и второе - перестают работать евенты(или остальные вотчеры), не перерисовывается страница
return this.items = response.data.items
не работает. Нужно перезагрузить страницу, чтобы увидеть изменения. Без вотчера все работает корректно.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости