diff --git a/src/component/home/tools/poseTransfer/index.vue b/src/component/home/tools/poseTransfer/index.vue index 3aaa6ee6..fbbe49f0 100644 --- a/src/component/home/tools/poseTransfer/index.vue +++ b/src/component/home/tools/poseTransfer/index.vue @@ -352,7 +352,8 @@ export default defineComponent({ props: { isDesignPage: { type: Boolean, - default: false + default: false, + required:false }, source: { type: String, @@ -773,7 +774,7 @@ export default defineComponent({ data.lastSelectImg = res.data } } - // 同步尾帧文件列表到全局 store + // 同步尾帧文件列表到全局 store(使用专门的 lastFrameList) store.commit('setPoseTransferLastFrameList', { str: 'set', list: [file] @@ -989,6 +990,7 @@ export default defineComponent({ if (data.lastSelectImg?.id === item.id) { data.lastSelectImg = {} } + // 使用专门的 lastFrameList mutation 清空列表 store.commit('setPoseTransferLastFrameList') } else { // 如果删除的是当前选中的首帧,清空选中状态 @@ -1176,10 +1178,10 @@ export default defineComponent({ firstFrameList.value = store.state.HomeStoreModule.uploadElement.filter( item => item.frameType === 'first' ) - - lastFrameList.value = store.state.HomeStoreModule.uploadElement.filter( - item => item.frameType === 'last' - ) + // 注意:尾帧通过专门的 watch (lastFrameList) 监听,不需要从这里过滤 + // lastFrameList.value = store.state.HomeStoreModule.uploadElement.filter( + // item => item.frameType === 'last' + // ) // 更新 showFirstFrameList 中项的选中状态 showFirstFrameList.value.forEach((listItem: any) => { if (listItem.id == data.selectImg.id) { diff --git a/src/store/homeStore/homeStore.ts b/src/store/homeStore/homeStore.ts index bd99a880..fbeb2463 100644 --- a/src/store/homeStore/homeStore.ts +++ b/src/store/homeStore/homeStore.ts @@ -74,7 +74,7 @@ const HomeStoreModule : Module = { }, setPoseTransferLastFrameList(state,data){ // 支持两种方式:set 替换整个列表;add/删除与 uploadElement 一致 - if(data.str === 'set'){ + if(data?.str === 'set'){ state.lastFrameList = data.list || [] return }else{