Framework7 - Панель поиска
Описание
Framework 7 позволяет искать элементы с помощью класса панели поиска .
Параметры панели поиска
S.No | Параметры и описание | Тип | По умолчанию |
---|---|---|---|
1 | searchList Он выполняет поиск в селекторе CSS или HTML-элементе списка. |
строка или элемент HTML | - |
2 | searchIn Вы можете искать элементы представления списка селекторов CSS, а также искать элементы, передавая классы .item-title , .item-text . |
строка | '.item-title' |
3 | found Он выполняет поиск в селекторе CSS или элементе HTML, используя «найденный» элемент. Кроме того, он использует элемент .searchbar-found, если элемент не указан. |
строка или элемент HTML | - |
4 | notfound Он выполняет поиск в селекторе CSS или HTML-элементе, используя «не найденный» элемент. Кроме того, он использует элемент .searchbar-not-found, если элемент не указан. |
строка или элемент HTML | - |
5 | overlay Он выполняет поиск в селекторе CSS или элементе HTML с помощью элемента «наложение панели поиска» и использует элемент .searchbar-overlay , если элемент не указан. |
строка или элемент HTML | - |
6 | ignore Вы можете игнорировать селектор CSS для элементов, используя панель поиска. |
строка | '.searchbar-ignore' |
7 | customSearch Когда он включен, панель поиска не будет выполнять поиск ни в одном из блоков списков, указанных в searchList, и вам будет разрешено использовать настраиваемые функции поиска. |
логический | ложный |
8 | removeDiacritics При поиске элемента удалите диакритические знаки, включив этот параметр. |
логический | ложный |
9 | hideDividers Этот параметр скроет разделители элементов и заголовок группы, если элементов нет. |
логический | правда |
10 | hideGroups Этот параметр скроет группы, если в группах просмотра списка нет элементов. |
логический | правда |
Обратные вызовы панели поиска
S.No | Обратные вызовы и описание | Тип | По умолчанию |
---|---|---|---|
1 | onSearch Этот метод будет запускать функцию обратного вызова при выполнении поиска. |
функция (ы) | - |
2 | onEnable Этот метод запускает функцию обратного вызова, когда панель поиска становится активной. |
функция (ы) | - |
3 | onDisable Этот метод запускает функцию обратного вызова, когда панель поиска становится неактивной. |
функция (ы) | - |
4 | onClear Этот метод вызовет функцию обратного вызова, когда вы нажмете на «очистить» элемент. |
функция (ы) | - |
Свойства панели поиска
S.No | Свойства и описание |
---|---|
1 | mySearchbar.params Представляет инициализированные параметры, переданные с объектом. |
2 | mySearchbar.query Ищет текущий запрос. |
3 | mySearchbar.searchList Определяет блок списка поиска. |
4 | mySearchbar.container Определяет контейнер панели поиска с элементом HTML. |
5 | mySearchbar.input Определяет ввод панели поиска с элементом HTML. |
6 | mySearchbar.active Он определяет, включена или отключена панель поиска. |
Методы панели поиска
S.No | Методы и описание |
---|---|
1 | mySearchbar.search(query); Этот метод выполняет поиск переданного запроса. |
2 | mySearchbar.enable(); Это включает панель поиска. |
3 | mySearchbar.disable(); Отключает панель поиска. |
4 | mySearchbar.clear(); Вы можете очистить запрос и результаты поиска. |
5 | mySearchbar.destroy(); Он уничтожает экземпляр панели поиска. |
События JavaScript панели поиска
S.No | Описание события | Цель |
---|---|---|
1 | search Вы можете активировать это событие при поиске элементов. |
<div class = "list-block"> |
2 | clearSearch Это событие запускается, когда пользователь щелкает элемент clearSearch. |
<div class = "list-block"> |
3 | enableSearch Когда панель поиска становится доступной, это событие запускается. |
<div class = "list-block"> |
4 | disableSearch Когда панель поиска отключается и пользователь нажимает кнопку отмены или элемент «наложение панели поиска», это событие запускается. |
<div class = "list-block"> |
пример
В следующем примере демонстрируется использование панели поиска при прокрутке в Framework7:
<!DOCTYPE html>
<html>
<head>
<meta name = "viewport" content = "width = device-width, initial-scale = 1,
maximum-scale = 1, minimum-scale = 1, user-scalable = no, minimal-ui" />
<meta name = "apple-mobile-web-app-capable" content = "yes" />
<meta name = "apple-mobile-web-app-status-bar-style" content = "black" />
<title>Search Bar Layout</title>
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.min.css" />
<link rel = "stylesheet"
href = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/css/framework7.ios.colors.min.css" />
</head>
<body>
<div class = "views">
<div class = "view view-main">
<div class = "pages navbar-fixed">
<div data-page = "home" class = "page">
<div class = "navbar">
<div class = "navbar-inner">
<div class = "center sliding">Search Bar Layout</div>
</div>
</div>
<form data-search-list = ".list-block-search" data-search-in = ".item-title"
class = "searchbar searchbar-init">
<div class = "searchbar-input">
<input type = "search" placeholder = "Search"><a href = "#"
class = "searchbar-clear"></a>
</div>
<a href = "#" class = "searchbar-cancel">Cancel</a>
</form>
<div class = "searchbar-overlay"></div>
<div class = "page-content">
<div class = "content-block searchbar-not-found">
<div class = "content-block-inner">No element found...</div>
</div>
<div class = "list-block list-block-search searchbar-found">
<ul>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">India</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Argentina</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Belgium</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Brazil</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Canada</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Colombia</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Denmark</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Ecuador</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">France</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Germany</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Greece</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Haiti</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Hong Kong</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Iceland</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Ireland</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Jamaica</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Japan</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Kenya</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Kuwait</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Libya</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Liberia</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Malaysia</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Mauritius</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Mexico</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Namibia</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">New Zealand</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Oman</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Paraguay</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Philippines</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Russia</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Singapore</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">South Africa</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Thailand</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">United Kingdom</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Vatican City</div>
</div>
</li>
<li class = "item-content">
<div class = "item-inner">
<div class = "item-title">Zimbabwe</div>
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
<script type = "text/javascript"
src = "https://cdnjs.cloudflare.com/ajax/libs/framework7/1.4.2/js/framework7.min.js"></script>
<script>
var myApp = new Framework7();
var mainView = myApp.addView('.view-main');
</script>
</body>
</html>
Вывод
Давайте выполним следующие шаги, чтобы увидеть, как работает приведенный выше код -
Сохраните указанный выше HTML-код search_bar.html файл в корневой папке вашего сервера.
Откройте этот HTML-файл как http: //localhost/search_bar.html, и результат отобразится, как показано ниже.
Если элемент, содержащийся в списке, вводится в строку поиска, он отображает этот конкретный элемент из списка.
Если вводится элемент, отличный от элементов, содержащихся в списке, он не отображает ни одного найденного элемента.