41 lines
1.2 KiB
Markdown
41 lines
1.2 KiB
Markdown
# 194 EarningsCalendar
|
|
|
|
## 用途
|
|
|
|
财报日历。
|
|
|
|
## 最小示例
|
|
|
|
```go
|
|
var state mujica.DataTableState[string]
|
|
rows := []mujica.EarningsEvent{{ID: "a", Symbol: "AAPL", Name: "Apple", Date: mujica.Date{Year: 2026, Month: 10, Day: 30}, Timing: mujica.EarningsAfterClose, EPSEstimate: 1.6, EPSActual: 1.64}}
|
|
view := func(c *ui.Context) {
|
|
mujica.Use(c, mujica.Settings{})
|
|
r := mujica.EarningsCalendar(c, &state, rows, mujica.EarningsCalendarOptions{})
|
|
if r.Changed() || r.Submitted() || r.SortChanged() || r.Retried() {
|
|
fmt.Println(state.Selected())
|
|
}
|
|
}
|
|
ui.Render(view, 960, 440, 1)
|
|
```
|
|
|
|
## 参数
|
|
|
|
`s` 保存表格状态;`events` 使用稳定 ID、Date 和盘前盘后时段;EPSActual 的 NaN 表示待公布。`Version` 原地更新递增;`Status/Error/Disabled` 默认零值。
|
|
|
|
## 状态
|
|
|
|
默认、聚焦、禁用;异步结果支持加载、失败和空。
|
|
|
|
## 事件
|
|
|
|
if r.Changed() || r.Submitted() || r.SortChanged() || r.Retried() { 调用方回调(state.Selected()) }
|
|
|
|
## 键盘操作
|
|
|
|
Tab 聚焦表格;方向键及 Home/End 选择;Enter 提交;表头支持键盘排序。
|
|
|
|
## 限制
|
|
|
|
NaN 表示待公布;零预期仅显示金额差;财报数据由调用方提供。
|