文件移动应分成选择目的地、处理冲突、确认结果三件事。弹窗持续显示当前文件和目标完整路径;同名文件先提供保留两份或跳过,确实支持覆盖时再提供替换;移动完成后给出新位置。不能把展开文件夹当成已经选定,也不能在请求刚发出时就从原列表移除文件并宣告成功。
假设设计助理要把“品牌手册.pdf”和“发布海报.png”从“我的文件”移到“品牌中心 / 秋季活动 / 已确认”。用交互原型把移动前后连接起来,评审者就能顺着目录找到资料,而不只是判断弹窗是否好看。

先让用户看清“移动什么”和“移到哪里”
弹窗标题可以写“移动2个文件”,顶部列出文件名,数量更多时允许展开查看。文件数量是本次操作范围,不是目标文件夹中的内容数量。源位置为“我的文件”,目标路径尚未选定,两者要有不同标签,不能在同一个面包屑上来回替换,让用户猜自己正在浏览哪一端。
目的地可以用树形目录,也可以用逐层进入的列表。树适合层级不深、需要快速比较相邻分支的场景;逐层列表给长文件夹名更多空间,也适合手机。两者都应保留当前路径,并在底部写出“移动到:品牌中心 / 秋季活动 / 已确认”。这里的文字是提交目标的依据,不只是装饰性导航。
多个地方都可能叫“已确认”。搜索结果若只展示这个名字,就无法区分秋季活动和春季活动。结果行应补齐父级路径;选择后再次在固定区域显示完整目标。路径过长时可以压缩中间层级,但最终文件夹名必须可读,并提供查看完整路径的方式。
展开、进入和选定,不要共用一个含糊动作
在树形目录中,箭头只控制展开,名称或选择标记负责指定目的地;文件夹行可以显示已选择背景,键盘焦点则用另一种清楚外观表达。用户用方向键查看目录,不应因为经过某一行就立即发起移动。具体树形键盘行为可以参考W3C树视图模式,但选定目标后仍需明确的提交动作。
逐层列表可以把“进入文件夹”和“移动到此处”分开:点击行进入下一层,底部按钮指向当前打开的目录。顶部返回上一级只改变浏览位置,不取消源文件。底部路径随当前目录更新,让用户无需通过按钮颜色猜测目标是否已选定。
如果可在弹窗内新建文件夹,创建成功后应说明它位于哪一层,再决定是否自动选中。新建失败只影响新文件夹,不清空已经选择的源文件。用户点取消关闭整个移动弹窗时,已成功创建但尚未放入文件的新目录是否保留,也要与产品行为一致,不能暗示取消移动会撤销一切操作。
哪些目录不能选,原因要靠近目标
| 目标情况 | 本例界面处理 | 用户能继续做什么 |
|---|---|---|
| 文件原本所在目录 | 说明“文件已在此位置” | 选择其他目录或取消 |
| 无添加文件权限 | 保留可见目录及权限说明,不显示可提交状态 | 改选有权限目录 |
| 移动文件夹到自身或子目录 | 该分支不可作为目的地 | 选择同级或其他分支 |
| 目录仍在加载 | 展示加载状态,不伪装成空文件夹 | 等待或在失败后重试 |
| 目录已被删除 | 清除失效目标并说明变化 | 返回最近仍有效的上级 |
能看见文件夹,不一定能向里面添加文件;拥有源文件查看权限,也不一定能把它移走。设计稿应分别标注源端和目标端需要的能力,由服务端确认。前端禁用某一行只是反馈,不是权限控制本身。
本例仅处理同一资料库内移动。若产品允许从私人空间移到共享空间,应在确认前说明访问范围是否会变化。不要默认写“原权限保持不变”,也不要直接推断现有分享链接一定失效;这两项取决于资料库的实际权限与链接规则,需要在交付时明确。
同名文件不是同一个文件
目标目录已经有一份“品牌手册.pdf”时,先展示冲突的两端:待移动文件与目标现有文件。可用大小、修改时间、创建者或预览帮助判断,但只显示系统实际提供的信息。“新文件”与“旧文件”很容易误导,因为待移动文件未必更新,用“待移动”和“目标现有”更准确。
本例提供三种处理:保留两份、跳过此文件、取消移动。保留两份时在确认前展示系统生成的完整新名称,例如“品牌手册(2).pdf”;跳过只让这一个文件留在原处,另一张海报仍可继续。没有经过产品确认的覆盖能力,就不要画一个看似可用的“替换”按钮。
若业务确实支持替换,弹窗要交代被替换版本是否可恢复、目标原有的评论或分享关系怎样处理。它不是普通移动的同义词。对多个冲突提供“对其他同名文件执行相同处理”时,也应写明适用对象;不把用户对一个PDF的决定自动扩大到同名文件夹或不同冲突类型。
目录名相同更不能默认合并整个文件夹。合并会涉及内部文件逐项冲突,范围远大于一个重名文件。可以单独进入文件夹合并流程,也可以要求改名后再移动,但不能借一条简短成功提示掩盖未处理的内部冲突。
结果清单回答文件最终去了哪里
移动请求完成后,源列表和目标列表应反映同一结果。两份文件都成功时,显示“2个文件已移至品牌中心 / 秋季活动 / 已确认”,并提供打开目标文件夹的入口。若用户只是想继续整理源目录,不必强制把页面跳走。
海报成功而手册因权限变化失败时,反馈应是“1个已移动,1个未移动”。结果列表保留两行:海报的新位置、手册仍在的位置及失败原因。只写“部分失败”却不列对象,会让用户在两个目录里反复查找,也容易重复上传同一份文件。
网络超时只能说明当前没拿到完整结果。先查询这次操作的状态,再决定是否重试;不要直接对全部文件再次移动。重试入口应只针对确认未完成且仍可处理的对象。移动后提供撤销也需要真实支持:原目录被删除、另一人重命名等情况都可能影响恢复,不能把一条通用“撤销”当作万能保障。
用同一组文件走通目的地与冲突
在Pixso画布中,先排出源列表、目的地选择、重名处理和结果清单四个画板。所有画板都沿用“品牌手册.pdf”“发布海报.png”及同一条目标路径。把品牌中心目录展开到第三层,在底部保留目标摘要;重名画板只改变手册的处理方式,不让海报凭空换名或消失。

第一条演示路径选择“保留两份”,结果目录显示“品牌手册(2).pdf”和海报。第二条路径选择“跳过手册”,源列表仍有手册,目标目录只有新增海报。第三条路径在提交前改变目标权限,弹窗保留目标文字但明确无法继续。三条路径对照后,才能检查数量、名称、路径和实际结果是否互相吻合。
再把目的地弹窗放进窄屏画板:长路径允许换行或展开查看,确认按钮持续可达,目录列表单独滚动时不带走底部目标摘要。用户仅凭界面能说出“我移动了什么、哪里没成功、下一步去哪里找”,这次移动才算设计完整。