外观
可编辑文本(Editable text)
ui.EditableText 将一个 *string 显示为用户可就地编辑的文本,如同 Finder 中的文件名:双击它,或在它获得焦点时按 Enter,会显示一个文本输入框,并选中扩展名之前的文本。Enter 保留所输入的内容,焦点移开同样如此;Escape 则取消返回;Changed 报告新值。
go
if ui.EditableText(c, &app.title).Changed() {
app.save()
}在列表和表格中
在列表或表格的行中,列表保持焦点而文本不占用焦点:macOS 上按 Return、其他平台上按 F2 可编辑所选行的文本,双击该行则触发 Submitted;当第二次点击已不再构成双击时,点击已选中行的文本即可编辑它。
go
ui.Table(c, &app.files, cols, len(files), func(row, col int) {
if col == 0 && ui.EditableText(c, &files[row].Name).Changed() {
app.rename(files[row])
}
})无障碍
辅助技术会朗读该文本,以及编辑期间的文本输入框。