I've found that when a button/form is added as an item to a tview.Newflex layout the actions will not trigger. Examples:
package main
import (
"github.com/rivo/tview"
)
func main() {
app := tview.NewApplication()
form := tview.NewForm().
AddDropDown("Title", []string{"Mr.", "Ms.", "Mrs.", "Dr.", "Prof."}, 0, nil).
AddInputField("First name", "", 20, nil, nil).
AddInputField("Last name", "", 20, nil, nil).
AddCheckbox("Age 18+", false, nil).
AddPasswordField("Password", "", 10, '*', nil).
AddButton("Save", nil).
AddButton("Quit", func() {
app.Stop()
})
form.SetBorder(true).SetTitle("Enter some data").SetTitleAlign(tview.AlignLeft)
flex := tview.NewFlex().
AddItem(tview.NewBox().SetBorder(true).SetTitle("Left Side"), 0, 1, false).
AddItem(tview.NewFlex().SetDirection(tview.FlexRow).
AddItem(form, 16, 2, false).
AddItem(tview.NewBox().SetBorder(true).SetTitle("Bottom Pane"), 0, 1, false), 0, 3, false)
if err := app.SetRoot(flex, true).Run(); err != nil {
panic(err)
}
}
Recordings
Form declared not using tview.NewFlex() ✅

Form declared using tview.NewFlex() ❌

I've found that when a button/form is added as an item to a
tview.Newflexlayout the actions will not trigger. Examples:Recordings
Form declared not using
tview.NewFlex()✅Form declared using
tview.NewFlex()❌