fix(AddFile): 修复添加文件信息不自动隐藏问题

This commit is contained in:
ApplePine 2025-07-02 13:19:02 +08:00
parent 0208de66bb
commit 806f91e325
2 changed files with 30 additions and 3 deletions

View File

@ -14,7 +14,7 @@
<div class="drop-text"> <div class="drop-text">
<p>点击选择文件或拖放到此处</p> <p>点击选择文件或拖放到此处</p>
<el-button type="primary" size="small" @click.stop="selectFile">选择文件</el-button> <el-button type="primary" size="small" @click.stop="selectFile">选择文件</el-button>
<el-button size="small" @click.stop="selectDirectory">选择文件夹</el-button> <el-button type="success"size="small" @click.stop="selectDirectory">选择文件夹</el-button>
</div> </div>
</div> </div>
@ -31,7 +31,7 @@
</template> </template>
<script> <script>
import { ref } from 'vue' import { ref, watch } from 'vue'
import { Upload } from '@element-plus/icons-vue' import { Upload } from '@element-plus/icons-vue'
export default { export default {
@ -39,11 +39,28 @@ export default {
components: { components: {
Upload, Upload,
}, },
props: {
reset: {
type: Boolean,
default: false
}
},
emits: ['file-selected'], emits: ['file-selected'],
setup(props, { emit }) { setup(props, { emit }) {
const selectedFile = ref(null) const selectedFile = ref(null)
const isDragging = ref(false) const isDragging = ref(false)
//
watch(() => props.reset, (newVal) => {
if (newVal) {
resetFileSelector()
}
})
const resetFileSelector = () => {
selectedFile.value = null
}
const selectFile = async () => { const selectFile = async () => {
try { try {
const file = await window.electronAPI.selectFile() const file = await window.electronAPI.selectFile()
@ -104,6 +121,7 @@ export default {
selectFile, selectFile,
selectDirectory, selectDirectory,
handleDrop, handleDrop,
resetFileSelector
} }
}, },
} }

View File

@ -3,7 +3,7 @@
<h1>添加新文件</h1> <h1>添加新文件</h1>
<div class="file-selector-wrapper"> <div class="file-selector-wrapper">
<FileSelector @file-selected="handleFileSelected" /> <FileSelector @file-selected="handleFileSelected" :reset="resetSignal" />
</div> </div>
<el-form <el-form
@ -104,6 +104,7 @@ export default {
const fileFormRef = ref(null) const fileFormRef = ref(null)
const selectedFile = ref(null) const selectedFile = ref(null)
const isSubmitting = ref(false) const isSubmitting = ref(false)
const resetSignal = ref(false)
// //
const categories = ref([]) const categories = ref([])
@ -222,6 +223,13 @@ export default {
} }
const resetForm = () => { const resetForm = () => {
resetSignal.value = true //
// 便
setTimeout(() => {
resetSignal.value = false
}, 100)
selectedFile.value = null selectedFile.value = null
fileForm.filePath = '' fileForm.filePath = ''
fileForm.fileName = '' fileForm.fileName = ''
@ -252,6 +260,7 @@ export default {
availableTags, availableTags,
selectedTag, selectedTag,
isSubmitting, isSubmitting,
resetSignal,
handleFileSelected, handleFileSelected,
handleTagChange, handleTagChange,
removeTag, removeTag,