Fyne Table初始化时不显示数据的问题求助
Fyne表格初始化无数据,点击后才加载的问题
我正在使用Fyne框架开发表格以展示交易数据,相关代码如下:
type transaction struct { Name string Amount float64 Date time.Time Memo string } var transactions []transaction func init() {// Data population omitted } func makeCenter() *fyne.Container { table := widget.NewTable( func() (int, int) { return len(transactions), 4 }, func() fyne.CanvasObject { return widget.NewLabel("wide content") }, func(i widget.TableCellID, o fyne.CanvasObject) { switch i.Col { case 0: o.(*widget.Label).SetText(transactions[i.Row].Name) case 1: o.(*widget.Label).SetText(transactions[i.Row].Date.Format(YYYYMMDD)) case 2: o.(*widget.Label).SetText(fmt.Sprintf("%.2f", transactions[i.Row].Amount)) case 3: o.(*widget.Label).SetText(transactions[i.Row].Memo) } }, ) table.SetColumnWidth(0, 200) table.SetColumnWidth(1, 100) table.SetColumnWidth(2, 100) table.SetColumnWidth(3, 300) split := container.NewHSplit(makeLeftSidebar(), table) split.Offset = 0.2 return container.NewMax(split) }
问题现象
- 窗口首次显示时,表格无数据(初始状态:表格所有单元格为空,无交易数据展示)
- 点击任意单元格后,数据会正常加载并填充到对应位置
调试结论
NewTable的create函数在UI初始化阶段未被调用,仅在用户点击单元格后才触发执行。
更新说明
此问题为Fyne框架的已知Bug,对应项目仓库中的Issue #3198和#3034。
内容的提问来源于stack exchange,提问作者Paul Waldo
相关产品推荐
相关产品推荐

