46 lines
1.2 KiB
Markdown
46 lines
1.2 KiB
Markdown
# 259 ArtifactCard · 产物卡片
|
|
|
|
## 用途
|
|
|
|
消息中的产物卡片(代码、文档、网页),点击打开产物面板。
|
|
|
|
## 最小示例
|
|
|
|
```go
|
|
view := func(c *ui.Context) {
|
|
mujica.Use(c, mujica.Settings{})
|
|
if mujica.ArtifactCard(c, mujica.ArtifactCardOptions{Title: "seating.go", Detail: "Go · 120 lines"}).Changed() {
|
|
log.Println("open artifact panel")
|
|
}
|
|
}
|
|
ui.Render(view, 400, 300, 1)
|
|
```
|
|
|
|
## 参数
|
|
|
|
`func ArtifactCard(c *ui.Context, opts ArtifactCardOptions) ChoiceResult`。
|
|
|
|
| 字段 | 类型 | 默认值 | 含义 |
|
|
| --- | --- | --- | --- |
|
|
| `Kind` | `ArtifactKind` | `ArtifactCode` | `ArtifactCode`、`ArtifactDocument`、`ArtifactWeb`;越界 panic。 |
|
|
| `Title` | `string` | 必填 | 产物标题。 |
|
|
| `Detail` | `string` | "" | 简短说明,如“Go · 120 行”。 |
|
|
| `Streaming` | `bool` | false | 仍在生成,显示旋转标记。 |
|
|
| `Disabled` | `bool` | false | 禁用。 |
|
|
|
|
## 状态
|
|
|
|
默认、悬停、聚焦、生成中、禁用。种类同时用图标与文字表示。
|
|
|
|
## 事件
|
|
|
|
`Changed()`:请求打开产物面板。
|
|
|
|
## 键盘操作
|
|
|
|
- Tab 聚焦;Enter/Space 打开。
|
|
|
|
## 限制
|
|
|
|
- 卡片不渲染产物内容,面板由调用方实现。
|