fix: 修复文件管理数据不刷新和批量操作选中问题

1.删除后不刷新数据
2.Grid布局下批量操作,点击复选框触发两次函数导致无法选中
This commit is contained in:
kils
2024-04-29 15:18:57 +08:00
committed by Charles7c
parent fcceaf8f51
commit 724f60eaf6
3 changed files with 8 additions and 9 deletions

View File

@@ -3,7 +3,7 @@ import { ref, h } from 'vue'
import { Modal, Message } from '@arco-design/web-vue' import { Modal, Message } from '@arco-design/web-vue'
import ModalContent from './ModalContent.vue' import ModalContent from './ModalContent.vue'
export function openFileRenameModal(data: FileItem) { export function openFileRenameModal(data: FileItem, callback?: () => void) {
const ModalContentRef = ref<InstanceType<typeof ModalContent>>() const ModalContentRef = ref<InstanceType<typeof ModalContent>>()
return Modal.open({ return Modal.open({
title: '重命名', title: '重命名',
@@ -22,6 +22,9 @@ export function openFileRenameModal(data: FileItem) {
if (isInvalid) return false if (isInvalid) return false
await updateFile({ name: modelParams?.name }, data.id) await updateFile({ name: modelParams?.name }, data.id)
Message.success('重命名成功') Message.success('重命名成功')
if (callback) {
callback()
}
return true return true
} }
}) })

View File

@@ -27,11 +27,7 @@
:class="{ checked: props.selectedFileIds.includes(item.id) }" :class="{ checked: props.selectedFileIds.includes(item.id) }"
@click.stop="handleCheckFile(item)" @click.stop="handleCheckFile(item)"
> >
<a-checkbox <a-checkbox class="checkbox" :model-value="props.selectedFileIds.includes(item.id)"></a-checkbox>
class="checkbox"
:model-value="props.selectedFileIds.includes(item.id)"
@change="handleCheckFile(item)"
></a-checkbox>
</section> </section>
</div> </div>
</a-grid-item> </a-grid-item>

View File

@@ -211,7 +211,7 @@ const handleRightMenuClick = async (mode: string, fileInfo: FileItem) => {
} }
}) })
} else if (mode === 'rename') { } else if (mode === 'rename') {
openFileRenameModal(fileInfo) openFileRenameModal(fileInfo, search)
} else if (mode === 'detail') { } else if (mode === 'detail') {
openFileDetailModal(fileInfo) openFileDetailModal(fileInfo)
} else if (mode === 'download') { } else if (mode === 'download') {
@@ -237,8 +237,8 @@ const handleMulDelete = () => {
title: '提示', title: '提示',
content: `是否确定删除所选的${selectedFileIds.value.length}个文件?`, content: `是否确定删除所选的${selectedFileIds.value.length}个文件?`,
hideCancel: false, hideCancel: false,
onOk: () => { onOk: async () => {
deleteFile(selectedFileIds.value) await deleteFile(selectedFileIds.value)
Message.success('删除成功') Message.success('删除成功')
search() search()
} }