在 Android 上清除 QML 中的 TextField
Clear TextField in QML on Android
我有一个简单的文本字段:
TextField {
id: searchField
height: Units.dp * 40
color: Palette.colors["white"]["500"]
textColor: Palette.colors["white"]["500"]
placeholderText: qsTr("Search...")
}
我正在尝试按以下方式清除 TextField 输入:
function clearSearch() {
Qt.inputMethod.reset()
Qt.inputMethod.hide()
searchField.focus = false
searchField.text = ""
}
Android 功能 clearSearch 似乎不起作用。我看到文本输入仍然包含最后输入的文本(我猜它是一个 displayText)。另外我想这是由于键盘的自动完成功能。
我是否以错误的方式清除文本输入?
我的测试用例:
- 使用具有自动完成功能的虚拟键盘在字段中输入内容。
- 不确认输入,选择当前单词(带下划线)
- 点击清除按钮(调用 clearSearch())
- 请注意,TextField 中仍有带下划线的文本
- 再次点击一个字段,再次看到键盘显示,文本字段现在为空
P.S。 Qt 5.5
您可以调用 Qt.inputMethod.reset()
重置输入法中任何部分未提交的文本输入。
我有一个简单的文本字段:
TextField {
id: searchField
height: Units.dp * 40
color: Palette.colors["white"]["500"]
textColor: Palette.colors["white"]["500"]
placeholderText: qsTr("Search...")
}
我正在尝试按以下方式清除 TextField 输入:
function clearSearch() {
Qt.inputMethod.reset()
Qt.inputMethod.hide()
searchField.focus = false
searchField.text = ""
}
Android 功能 clearSearch 似乎不起作用。我看到文本输入仍然包含最后输入的文本(我猜它是一个 displayText)。另外我想这是由于键盘的自动完成功能。
我是否以错误的方式清除文本输入?
我的测试用例:
- 使用具有自动完成功能的虚拟键盘在字段中输入内容。
- 不确认输入,选择当前单词(带下划线)
- 点击清除按钮(调用 clearSearch())
- 请注意,TextField 中仍有带下划线的文本
- 再次点击一个字段,再次看到键盘显示,文本字段现在为空
P.S。 Qt 5.5
您可以调用 Qt.inputMethod.reset()
重置输入法中任何部分未提交的文本输入。