QML-тип SearchField
Текстовое поле для ввода поискового запроса. Подробнее…
Строка импорта: | import Sailfish.Silica 1.0 |
Наследуется от: | TextField |
Свойства
- active : bool
- canHide : bool
- transitionDuration : int
Подробное описание
Тип SearchField
отображает поле поиска — одну строку редактируемого текста вместе со значком
поиска и кнопкой, которая очищает введенный текст.
Ниже приведён пример с полем поиска, расположенным в заголовке страницы:
import QtQuick 2.2
import Sailfish.Silica 1.0
SilicaListView {
property alias searchField: headerItem
anchors.fill: parent
header: SearchField {
width: parent.width
placeholderText: "Искать"
onTextChanged: {
listModel.update()
}
}
// предотвращает перемещение фокуса с поля поиска на вновь создаваемые делегаты списка
currentIndex: -1
model: ListModel {
id: listModel
property var continents: ["Африка", "Антарктида", "Азия", "Европа", "Северная Америка", "Океания", "Южная Америка"]
function update() {
clear()
for (var i=0; i<continents.length; i++) {
if (searchField.text == "" || continents[i].indexOf(searchField.text) >= 0) {
append({"name": continents[i]})
}
}
}
Component.onCompleted: update()
}
delegate: ListItem {
Label {
anchors {
left: parent.left
leftMargin: searchField.textLeftMargin
verticalCenter: parent.verticalCenter
}
text: name
}
}
}
Тип SearchField
наследуется от TextField, поэтому свойство
text можно использовать для доступа к введенному тексту.
Следует обратить внимание, что свойство textLeftMargin относится к положению текста внутри поля поиска. Поэтому вводимый в поле поиска текст можно использовать в качестве ориентира для выравнивания относительно него других элементов, например, элементов списка при фильтрации.
См. также TextField.
Описание свойств
active : bool
True
, если поле поиска активно. Установка этого значения в false
установит opacity
как 0 и visible
как
false
, уменьшит height
до 0 и очистит текст для поиска.
Следует обратить внимание, что это свойство изменяется полем поиска (и, таким образом, любая привязка очищается), когда пользователь нажимает кнопку «Скрыть».
Значение по умолчанию: true
.
canHide : bool
True
, если в поле поиска должна отображаться кнопка «Скрыть», когда текст для поиска пуст.
Если это свойство имеет значение true
, кнопка «Очистить» поля поиска (которая обычно очищает текст поиска при
нажатии) изменится на иконку «Скрыть», когда текст для поиска пуст. И если кнопка нажата в этом состоянии, то свойство
active
будет установлено как false
, и поле поиска будет скрыто из видимости.
transitionDuration : int
Продолжительность анимации (в миллисекундах), которая запускается при переходе поля поиска между активным и неактивным состояниями.
Значение по умолчанию равно 200.