096 EmptyState 空状态
用途
说明视图为何为空并给出下一步。区分“无数据”(集合本身为空)与“无搜索结果”(筛选没有匹配),两者使用不同的默认图标与文案。
最小示例
r := feedback.EmptyState(c, feedback.EmptyStateOptions{
Kind: feedback.EmptyNoResults,
Query: query,
Action: "Clear search",
})
if r.Action {
query = ""
}签名:func EmptyState(c *ui.Context, opts EmptyStateOptions) EmptyStateResult
参数
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
Kind | EmptyKind | EmptyNoData | EmptyNoData 或 EmptyNoResults。 |
Title | string | 按类型的内置文案 | 衬线标题。 |
Description | string | 按类型的内置文案 | 说明。 |
Query | string | "" | 仅 EmptyNoResults:默认说明写出该关键词。用于 EmptyNoData 时 panic。 |
Icon | *ui.SVG | inbox / search | 替换图标。 |
NoIcon | bool | false | 不显示图标;与 Icon 同时设置时 panic。 |
Action | string | "" | 次按钮文字。 |
状态
静态展示;操作按钮有悬停、按下与焦点状态。
事件
EmptyStateResult.Action:操作按钮被触发。
键盘操作
Tab 聚焦操作按钮;Enter 或 Space 触发。
限制
- 只有一个操作;需要多个下一步时使用 Result。

