QtQuick 2 我试图为出现在TextField上方的TextField创建一个“清除”按钮,单击该按钮会清除TextField中的所有文本。
下面是我的main.qml文件。在台式机(MacOS和Windows)上运行时,您可以随时单击“清除”或“ X”按钮,它将清除TextField。
但是-在iOS上,当焦点位于其下方的TextField上时,“清除”按钮似乎不接受点击。您只能在不主动编辑TextField时使用该按钮。 IE-如果焦点不在其他地方,则“清除”按钮将起作用。
更新:单击“清除”按钮时,单击时看起来确实很沮丧。但是没有onClicked
动作发生。另外,如果我将按钮移至TextField下方而不是其上方-它将起作用。
当焦点位于其下方的TextField上时,如何允许清除按钮起作用?或者-是否有另一种/更简便的方法来创建带有与此类似的清除按钮的TextField?
import QtQuick 2.12
import QtQuick.Window 2.12
import QtQuick.Controls 2.12
Window {
visible: true
width: 640
height: 480
TextField {
id: searchField
placeholderText: "Search..."
}
RoundButton {
id: clearSearch
anchors.right: searchField.right
anchors.top: searchField.top
anchors.bottom: searchField.bottom
anchors.margins: 5
text: "X"
opacity: 0.5
onClicked: {
console.log("clear btn clicked");
searchField.clear();
searchField.forceActiveFocus();
}
}
}