Как очистить выгрузки в vaadin upload?

#vaadin #polymer-1.0

#vaadin #polymer-1.0

Вопрос:

Я хочу очистить предыдущие загружаемые файлы при перенаправлении к компоненту загрузки vaadin для повторной загрузки других изображений. Но всякий раз, когда я нажимаю на компонент, он также показывает мне данные для начальной загрузки:

введите описание изображения здесь

Ответ №1:

Для vaadin V23 его:

 //Upload upload = new Upload();
upload.clearFileList();
  

Ответ №2:

Поскольку я просмотрел код vaadin-upload.html , похоже, нет метода, не говоря уже о части его API, который позволял бы вам очищать ранее загруженные файлы. Мне нужна была эта функциональность в моем проекте, поэтому я изменил vaadin-upload.html я сам.

Внутри объекта, переданного Polymer() функции в vaadin-upload.html , Я добавил следующие строки:

 clearFiles: function() {
    this.set('files', []);
}
  

Затем вы можете использовать свою любимую функцию выбора, чтобы получить экземпляр <vaadin-upload> и затем вызвать clearFiles() . В рамках Polymer это может выглядеть так:

 this.$.myVaadinUpload.clearFiles();
  

Изменение сторонней библиотеки не идеально, но этот способ прост и понятен.

Обратите внимание, что важно использовать this.set() (вместо this.files = [] ) для запуска наблюдателей привязки полимера.

Ответ №3:

С помощью этого html:

 <vaadin-upload id="uploader" files="{{files}}"> ... </vaadin-upload>
  

вы можете просто выполнить следующее в любом из ваших методов элемента:

 this.$.uploader.files = [];
  

Это чище, поскольку не требует изменения кода vaadin-upload .