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.