SuperAPI AI 工具集

create-modal

编程与开发

查看项目

更新于 10-16 00:05

技能介绍

用途:在 marcus/sidecar 项目中使用 internal/modal 包以声明式方式构建模态框,库自动处理键盘导航、鼠标命中区域、悬停状态与滚动。

主要能力:支持多种模态类型(confirm、input、select、form)与内置区块,包括 Text、Spacer、Buttons、Input、Textarea、Combo(浮动下拉)、Checkbox、Select、List、When(条件区块)和 Custom(自定义区块)。构造选项含 WithWidth、WithVariant(Default/Danger/Warning/Info)、WithPrimaryAction、WithHints、WithCloseOnBackdropClick。

使用方式:用 modal.New(title, opts...) 创建,AddSection 添加区块;在 View 中调用 Render 并用 ui.OverlayModal 叠加;在 Update 中分别用 HandleKey 和 HandleMouse 处理输入并返回 action。关键初始化模式:在 View 和 Update 中都调用 ensure 函数,且在 nil 检查之前调用,否则首次按键会丢失。

限制与注意:按钮标签需自带空格(如 " Save ");Textarea 中 Enter 插入换行不提交;Checkbox 的 Enter 提交主操作而非切换;Select 分段控件无法收缩,需用 modal.WidthForSections 计算宽度;不要用 lipgloss.Place 预居中,也不要在插件 View 中渲染页脚;关闭重开时调用 Reset()。

适用场景:需要删除确认、表单输入、单选选择等交互的插件界面。具体收费、平台与效果资料暂未提供。