fix: 【文件】右键多选所有文件复选框显示,取消所有选中消失

This commit is contained in:
韦荣超 2022-02-18 19:19:05 +08:00
parent 939f2cbf97
commit ccb889233c

View File

@ -84,13 +84,13 @@
<ul class="clearfix"> <ul class="clearfix">
<li <li
v-for="item in fileList" v-for="item in fileList"
:class="[item.id && shearId == item.id ? 'shear' : '', !!item._highlight ? 'highlight' : '']" :class="[item.id && shearId == item.id ? 'shear' : '',showMultipleChoice?'highlight':'', !!item._highlight ? 'highlight' : '']"
@contextmenu.prevent.stop="handleRightClick($event, item)" @contextmenu.prevent.stop="handleRightClick($event, item)"
@click="openFile(item)"> @click="openFile(item)">
<div class="file-menu" @click.stop="handleRightClick($event, item)"> <div class="file-menu" @click.stop="handleRightClick($event, item)" :style="showMultipleChoice?'opacity: 1':''">
<Icon type="ios-more" /> <Icon type="ios-more" />
</div> </div>
<div class="file-check" v-if="showMultipleChoice" @click.stop :class="fileChecked[item.id] ?'file-checked' : ''"> <div class="file-check" v-if="showMultipleChoice" @click.stop :class="fileChecked[item.id] ?'file-checked' : ''" :style="showMultipleChoice?'opacity: 1':''">
<Checkbox v-model="fileChecked[item.id]" @on-change="onFileCheckClick(item)"/> <Checkbox v-model="fileChecked[item.id]" @on-change="onFileCheckClick(item)"/>
</div> </div>
<div :class="`no-dark-mode-before file-icon ${item.type}`"> <div :class="`no-dark-mode-before file-icon ${item.type}`">
@ -1381,9 +1381,9 @@ export default {
}, },
onFileCheckClick(file) { onFileCheckClick(file) {
if ( this.fileChecked[file.id] === true && !$A.inArray(file.id, this.selectFile) ) if (this.fileChecked[file.id] === true && !$A.inArray(file.id, this.selectFile))
this.selectFile.push(file); this.selectFile.push(file);
else if ( this.fileChecked[file.id] === false ) { else if (this.fileChecked[file.id] === false) {
let index = -1; let index = -1;
for (let i = 0; i < this.selectFile.length; i++) { for (let i = 0; i < this.selectFile.length; i++) {
if (parseInt(this.selectFile[i].id) === parseInt(file.id)) { if (parseInt(this.selectFile[i].id) === parseInt(file.id)) {
@ -1395,6 +1395,9 @@ export default {
if (index >= 0) if (index >= 0)
this.selectFile.splice(index, 1); this.selectFile.splice(index, 1);
} }
if (this.selectFile.length === 0) {
this.showMultipleChoice = false;
}
// //
this.shearFiles = []; this.shearFiles = [];
}, },