画像をアップロードするときに画像プレビューを作成したいと思います。Vue Jsが更新された配列で初めてDOMを更新しない
イメージのパスを配列で取得できましたが、イメージをアップロードするときに配列が最初に更新されません。
vue devtoolsをチェックすると、アレイが更新されますが、イメージはプレビューされません。
イメージをアップロードすると、アレイはすぐに更新されます。しかしそれは更新されません。
私のアレイをvue devtoolsで表示すると、アレイは更新されます。ここで
は私のコードは次のとおりです。ここ
export default {
data() {
return {
items: [],
itemsAdded: '',
itemsNames: [],
itemsSizes: [],
itemsImages: [],
itemsTotalSize: '',
formData: '',
},
methods: {
onChange(e) {
this.successMsg = '';
this.errorMsg = '';
this.formData = new FormData();
let files = e.target.files || e.dataTransfer.files;
this.itemsAdded = files.length;
let fileSizes = 0;
var vm = this;
for (let x in files) {
if (!isNaN(x)) {
this.items = e.target.files[x] ||
e.dataTransfer.files[x];
this.itemsNames[x] = files[x].name;
this.itemsSizes[x] = this.bytesToSize(files[x].size);
fileSizes += files[x].size;
var reader = new FileReader();
reader.onload = (event) => {
vm.itemsImages[x] = event.target.result;
};
reader.readAsDataURL(files[x]);
this.formData.append('items[]', this.items);
}
}
this.itemsTotalSize = this.bytesToSize(fileSizes);
},
},
}
HTML
<div class='row'>
<div v-for="item in itemsImages">{{item}}</div>
</div>
[Vue.js - 更新された配列アイテムの値がページで更新されません](https://stackoverflow.com/questions/44800470/vue-js-updated-array-item-value-doesnt-update) -in-page) – choasia