Framework7-検索バー
説明
Framework 7では、searchbarクラスを使用して要素を検索できます。
検索バーのパラメータ
S.No | パラメータと説明 | タイプ | デフォルト |
---|---|---|---|
1 | searchList リストのCSSセレクターまたはHTML要素を検索します。 |
文字列またはHTML要素 | - |
2 | searchIn CSSセレクターのリストビュー要素を検索できます。また、.item-title、.item-textクラスを渡すことで要素を検索できます。 |
ストリング | '.item-title' |
3 | found 「found」要素を使用してCSSセレクターまたはHTML要素を検索します。さらに、要素が指定されていない場合は、.searchbar-found要素を使用します。 |
文字列またはHTML要素 | - |
4 | notfound 「not-found」要素を使用してCSSセレクターまたはHTML要素を検索します。さらに、要素が指定されていない場合は、.searchbar-not-found要素を使用します。 |
文字列またはHTML要素 | - |
5 | overlay 「searchbaroverlay」要素を使用してCSSセレクターまたはHTML要素を検索し、要素が指定されていない場合は.searchbar-overlay要素を使用します。 |
文字列またはHTML要素 | - |
6 | ignore 検索バーを使用して、アイテムのCSSセレクターを無視できます。 |
ストリング | '.searchbar-無視' |
7 | customSearch 有効にすると、検索バーはsearchListで指定されたリストブロックを検索せず、カスタム検索機能を使用できるようになります。 |
ブール値 | false |
8 | removeDiacritics 要素を検索するときは、このパラメーターを有効にして発音区別符号を削除します。 |
ブール値 | false |
9 | hideDividers アイテムがない場合、このパラメーターはアイテムの仕切りとグループタイトルを非表示にします。 |
ブール値 | true |
10 | hideGroups リストビューグループにアイテムが見つからない場合、このパラメーターはグループを非表示にします。 |
ブール値 | true |
検索バーのコールバック
S.No | コールバックと説明 | タイプ | デフォルト |
---|---|---|---|
1 | onSearch このメソッドは、検索中にコールバック関数を起動します。 |
関数) | - |
2 | onEnable このメソッドは、検索バーがアクティブになるとコールバック関数を起動します。 |
関数) | - |
3 | onDisable このメソッドは、検索バーが非アクティブになったときにコールバック関数を起動します。 |
関数) | - |
4 | onClear このメソッドは、「clear」要素をクリックするとコールバック関数を起動します。 |
関数) | - |
検索バーのプロパティ
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として開くと、出力が次のように表示されます。
リストに含まれる要素が検索バーに入力されると、リストからその特定の要素が表示されます。
リストに含まれている要素以外の要素を入力すると、要素が見つかりませんと表示されます。