【发布时间】:2022-10-07 05:39:43
【问题描述】:
我在 GUI 中有一个列表,其中有一个简单的字符串切片作为其数据源。对于每个列表项,我都会创建一个按钮,该按钮应该为该特定列表项执行某些操作。
这是一些示例代码:
var data = []string{\"folder1\", \"folder2\"}
...
func someListCreationMethod(data []string) *widget.List {
return widget.NewList(
func() int {
return len(data)
},
func() fyne.CanvasObject {
return container.NewPadded(
widget.NewLabel(\"Will be replaced\"),
widget.NewButton(\"Do Something\", nil),
)
},
func(id widget.ListItemID, item fyne.CanvasObject) {
item.(*fyne.Container).Objects[1].(*widget.Label).SetText(data[id])
},
)
}
如何将按钮连接到列表项?我需要一种方法来知道按下了哪个确切的按钮,或者按钮知道它位于哪个列表项上(或者哪个列表项是他的父项)。
有没有办法做到这一点?
也许widget.NewListWithData() 可以解决这个问题,但我不确定这在这种情况下是否有帮助。
编辑:这是一个更图形化的示例来显示这一点(此代码略有不同,但原理与上面的代码相同):
在这种情况下,我想为“pull”按钮所属的一个 repo 执行 pull。