224 DragDropOverlay 拖放遮罩
用途
拖入文件时的全区域遮罩与提示;类型检查回调。
最小示例
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
images := func(path string) bool { return strings.HasSuffix(path, ".png") }
r := chat.DragDropOverlay(c, chat.DragDropOverlayOptions{Accept: images}, func() {
ui.Text(c, "Drag images into the chat")
})
for _, path := range r.Accepted() {
fmt.Println("attach", path)
}
}
ui.Render(view, 400, 300, 1)参数
content 必填;Hint 默认“松开以添加文件”;Accept 接收路径并返回类型检查结果,nil 接受全部。
状态
默认、悬停、键盘焦点与祖先禁用;业务状态由调用方提供。
事件
Accepted() 与 Rejected() 返回本帧接受和拒绝的文件路径。
键盘操作
内容中的操作按其自身键盘规则访问;文件拖入由操作系统驱动。
限制
读取文件与上传由调用方完成。MyGo ui/headless.go:93–163 的 Tester 通过平台事件驱动,公开接口未提供外部文件拖放注入;类型检查与遮罩分别测试。

