サーチバーReactコンポーネント

    Searchbar Reactコンポーネントは、Framework7のSearchbarコンポーネントを表しています。

    サーチバーコンポーネント

    以下のコンポーネントが含まれています。

    • Searchbar

    サーチバーのプロパティ

    すべてのパラメータを単一の params プロパティに渡すこともできますし、パラメータごとに個別のプロップを使用して、コンポーネントの属性でパラメータを指定することもできます。

    PropTypeDefaultDescription
    <Searchbar> properties
    initbooleantrueサーチバーの初期化
    valuestring
    number
    Searchbarの入力値を指定することができます。customSearch`を有効にして使用すると便利です。
    formbooleantrueメインのサーチバー要素は、divではなく、formタグとして使用されます。
    placeholderstring"Search"入力プレースホルダーテキスト
    disableButtonbooleantrue無効化ボタンを有効にします。
    disableButtonTextstringCancel無効化ボタンのテキスト
    clearButtonbooleantrueサーチバーの入力クリアボタンを有効にする
    expandablebooleanfalse拡張可能なサーチバーを有効にする
    inlinebooleanfalseインライン検索バーを有効にする
    spellcheckboolean入力要素に spellcheck 属性を設定する
    searchContainerstring
    object
    検索対象となるリストブロックのCSSセレクタまたはHTML要素
    searchInstring.item-title検索対象となるリストビュー要素のフィールドのCSSセレクタです。通常は、要素のタイトル('.item-title')を検索します。.item-title, .item-text'`のように、いくつかの要素を渡して検索することもあります。
    searchItemstringli単一の検索項目のCSSセレクタ。リストビューで検索を行う場合には、単一のリスト要素でなければなりません li
    searchGroupstring.list-groupグループ要素のCSSセレクタです。hideGroups`が有効な場合に、グループを隠すために使用されます。リストビューで検索を行う場合には、通常はリストグループになります。
    searchGroupTitlestring.list-group-title, .item-dividerグループのタイトルやディバイダのCSSセレクタです。hideDividers`が有効な場合に、グループのタイトルとディバイダーを隠すために使用されます。リストビューで検索を行うと、通常はリストグループのタイトルやリストアイテムのディバイダーが表示されます。
    foundElstring
    object
    .searchbar-foundsearchbar の "found" 要素の CSS セレクタまたは HTML 要素です。指定されていない場合、サーチバーはページ上の .searchbar-found 要素を探します。
    notFoundElstring
    object
    .searchbar-not-found検索バーの "not-found" 要素の CSS セレクタまたは HTML 要素。指定されない場合、searchbarはページ上の .searchbar-not-found 要素を探します。
    backdropbooleansearchbar の背景要素を有効にします。デフォルトでは、オーロラテーマやインラインサーチバーでは無効です。
    backdropElstring
    object
    searchbar backdrop 要素の CSS セレクタまたは HTML 要素です。もし渡されず、backdropパラメータがtrueであれば、.searchbar-backdrop要素を探します。見つからない場合には、自動的に作成されます。
    ignorestring.searchbar-ignoresearchbarが無視し、検索結果に常に表示するアイテムのためのCSSセレクタです。
    customSearchbooleanfalseこの機能を有効にすると、サーチバーは search-container で指定されたリストブロックを検索しないので、カスタム検索機能を使用することができます。
    removeDiacriticsbooleanfalse検索時に発音記号(á, í, óなど)の削除/置換を有効にする
    hideDividersbooleantrue有効にすると、検索はアイテムの仕切りとグループのタイトルを考慮し、その直後に見つかったアイテムがない場合はそれらを非表示にする
    hideGroupsbooleantrue有効にすると、検索はリストビューのグループを考慮し、これらのグループ内に発見されたアイテムがない場合、それらを隠します。
    noShadowbooleanfalseMDテーマのシャドウレンダリングを無効にする
    noHairlinebooleanfalseiOS テーマで検索バーの下の細いボーダー(ヘアライン)を無効にする

    サーチバーメソッド

    <Searchbar> methods
    .search(query)サーチバーに渡されたクエリを強制的に検索させる
    .enable()サーチバーの有効化/有効化
    .disable()サーチバーを無効にする/しない
    .toggle()検索バーの切り替え
    .clear()検索クエリのクリアと検索結果の更新

    サーチバーのイベント

    EventArgumentsDescription
    <Searchbar> events
    searchbarSearch(searchbar, query, previousQuery)イベントは、検索中(検索フィールドの変更)にトリガされます。引数イベントとして、サーチバー・インスタンス、検索クエリ、前のクエリを受け取ります。
    searchbarClear(searchbar, previousQuery)イベントは、ユーザーが検索バーの入力「クリア」ボタンをクリックしたときにトリガされます。As an arguments event receive searchbar instance and previous query サーチバーのインスタンスと前のクエリを受け取るイベント。
    searchbarEnable(searchbar)イベントは、サーチバーがアクティブになったときにトリガされます。
    searchbarDisable(searchbar)サーチバーが非アクティブ/無効になるとイベントが発生します。
    change(event)イベントはサーチバーの入力要素に "change "イベントが発生した時に発生します。
    input(event)サーチバーの入力要素で "input "イベントが発生するとイベントが発生します。
    focus(event)searchbarの入力要素に "focus "イベントが発生するとイベントが発生する
    blur(event)searchbar input要素で "blur "イベントが発生するとイベントが発生する
    clickClear(event)入力された "clear "ボタンをクリックするとイベントが発生する
    clickDisable(event)サーチバーの無効ボタンをクリックするとイベントが発生します。

    サーチバーのスロット

    SearchbarのReactコンポーネントには、カスタム要素用の追加スロットがあります。

    • default - 要素は <div class="searchbar-inner"> 要素の子として最後に挿入されます。inner-end` スロットと同じです。
    • before-inner - 要素は <div class="searchbar-inner"> 要素の直前に挿入されます。
    • after-inner - 要素は <div class="searchbar-inner"> 要素の直後に挿入されます。
    • inner-start - 要素は先頭の
      `要素の子として挿入されます。
    • inner-end - 要素は終了時に <div class="searchbar-inner"> 要素の子として挿入されます。
    • input-wrap-start - 要素は、先頭の <div class="searchbar-input-wrap"> 要素の子として挿入されます。
    • input-wrap-end - 要素は終了時に <div class="searchbar-input-wrap"> 要素の子として挿入されます。

    スロットなし

    <Searchbar
      disableButtonText="Cancel"
      placeholder="Search in items"
      clearButton={true}
    ></Searchbar>
    
    {/* Renders to: */}
    
    <form class="searchbar">
      <div class="searchbar-inner">
        <div class="searchbar-input-wrap">
          <input type="search" placeholder="Search">
          <i class="searchbar-icon"></i>
          <span class="input-clear-button"></span>
        </div>
        <span class="searchbar-disable-button">Cancel</span>
      </div>
    </form>

    スロットあり

    <Searchbar
      disableButtonText="Cancel"
      placeholder="Search in items"
      clearButton={true}
    >
      <div slot="inner-start">Inner Start</div>
      <div slot="inner-end">Inner End</div>
      <div slot="input-wrap-start">Input Wrap Start</div>
      <div slot="input-wrap-end">Input Wrap End</div>
      <div slot="before-inner">Before Inner</div>
      <div slot="after-inner">After Inner</div>
    </Searchbar>
    
    {/* Renders to: */}
    
    <form class="searchbar">
      <div slot="before-inner">Before Inner</div>
      <div class="searchbar-inner">
        <div slot="inner-start">Inner Start</div>
        <div class="searchbar-input-wrap">
          <div slot="input-wrap-start">Input Wrap Start</div>
          <input type="search" placeholder="Search">
          <i class="searchbar-icon"></i>
          <span class="input-clear-button"></span>
          <div slot="input-wrap-end">Input Wrap End</div>
        </div>
        <span class="searchbar-disable-button">Cancel</span>
        <div slot="inner-end">Inner End</div>
      </div>
      <div slot="after-inner">After Inner</div>
    </form>
    

    Usual Searchbar

    import React from 'react';
    import {
      Page,
      Navbar,
      Subnavbar,
      Searchbar,
      List,
      ListItem,
      theme,
    } from 'framework7-react';
    
    export default () => (
      
        
      <Page>
        <Navbar title="Searchbar">
          <Subnavbar inner={false}>
            <Searchbar
              searchContainer=".search-list"
              searchIn=".item-title"
              disableButton={!theme.aurora}
            ></Searchbar>
          </Subnavbar>
        </Navbar>
        <List className="searchbar-not-found">
          <ListItem title="Nothing found"></ListItem>
        </List>
        <List className="search-list searchbar-found">
          <ListItem title="Acura"></ListItem>
          <ListItem title="Audi"></ListItem>
          <ListItem title="BMW"></ListItem>
          <ListItem title="Cadillac "></ListItem>
          <ListItem title="Chevrolet "></ListItem>
          <ListItem title="Chrysler "></ListItem>
          <ListItem title="Dodge "></ListItem>
          <ListItem title="Ferrari "></ListItem>
          <ListItem title="Ford "></ListItem>
          <ListItem title="GMC "></ListItem>
          <ListItem title="Honda"></ListItem>
          <ListItem title="Hummer"></ListItem>
          <ListItem title="Hyundai"></ListItem>
          <ListItem title="Infiniti "></ListItem>
          <ListItem title="Isuzu "></ListItem>
          <ListItem title="Jaguar "></ListItem>
          <ListItem title="Jeep "></ListItem>
          <ListItem title="Kia"></ListItem>
          <ListItem title="Lamborghini "></ListItem>
          <ListItem title="Land Rover"></ListItem>
          <ListItem title="Lexus "></ListItem>
          <ListItem title="Lincoln "></ListItem>
          <ListItem title="Lotus "></ListItem>
          <ListItem title="Mazda"></ListItem>
          <ListItem title="Mercedes-Benz"></ListItem>
          <ListItem title="Mercury "></ListItem>
          <ListItem title="Mitsubishi"></ListItem>
          <ListItem title="Nissan "></ListItem>
          <ListItem title="Oldsmobile "></ListItem>
          <ListItem title="Peugeot "></ListItem>
          <ListItem title="Pontiac "></ListItem>
          <ListItem title="Porsche"></ListItem>
          <ListItem title="Regal"></ListItem>
          <ListItem title="Saab "></ListItem>
          <ListItem title="Saturn "></ListItem>
          <ListItem title="Subaru "></ListItem>
          <ListItem title="Suzuki "></ListItem>
          <ListItem title="Toyota"></ListItem>
          <ListItem title="Volkswagen"></ListItem>
          <ListItem title="Volvo"></ListItem>
        </List>
      </Page>
        
      
    );

    Expandable Searchbar

    import React from 'react';
    import {
      Page,
      Navbar,
      NavRight,
      Link,
      Searchbar,
      List,
      ListItem,
      theme,
    } from 'framework7-react';
    
    export default () => (
      
        
      <Page>
        <Navbar title="Searchbar">
          <NavRight>
            <Link
              searchbarEnable=".searchbar-demo"
              iconIos="f7:search"
              iconAurora="f7:search"
              iconMd="material:search"
            ></Link>
          </NavRight>
          <Searchbar
            className="searchbar-demo"
            expandable
            searchContainer=".search-list"
            searchIn=".item-title"
            disableButton={!theme.aurora}
          ></Searchbar>
        </Navbar>
        <List className="searchbar-not-found">
          <ListItem title="Nothing found"></ListItem>
        </List>
        <List className="search-list searchbar-found">
          <ListItem title="Acura"></ListItem>
          <ListItem title="Audi"></ListItem>
          <ListItem title="BMW"></ListItem>
          <ListItem title="Cadillac "></ListItem>
          <ListItem title="Chevrolet "></ListItem>
          <ListItem title="Chrysler "></ListItem>
          <ListItem title="Dodge "></ListItem>
          <ListItem title="Ferrari "></ListItem>
          <ListItem title="Ford "></ListItem>
          <ListItem title="GMC "></ListItem>
          <ListItem title="Honda"></ListItem>
          <ListItem title="Hummer"></ListItem>
          <ListItem title="Hyundai"></ListItem>
          <ListItem title="Infiniti "></ListItem>
          <ListItem title="Isuzu "></ListItem>
          <ListItem title="Jaguar "></ListItem>
          <ListItem title="Jeep "></ListItem>
          <ListItem title="Kia"></ListItem>
          <ListItem title="Lamborghini "></ListItem>
          <ListItem title="Land Rover"></ListItem>
          <ListItem title="Lexus "></ListItem>
          <ListItem title="Lincoln "></ListItem>
          <ListItem title="Lotus "></ListItem>
          <ListItem title="Mazda"></ListItem>
          <ListItem title="Mercedes-Benz"></ListItem>
          <ListItem title="Mercury "></ListItem>
          <ListItem title="Mitsubishi"></ListItem>
          <ListItem title="Nissan "></ListItem>
          <ListItem title="Oldsmobile "></ListItem>
          <ListItem title="Peugeot "></ListItem>
          <ListItem title="Pontiac "></ListItem>
          <ListItem title="Porsche"></ListItem>
          <ListItem title="Regal"></ListItem>
          <ListItem title="Saab "></ListItem>
          <ListItem title="Saturn "></ListItem>
          <ListItem title="Subaru "></ListItem>
          <ListItem title="Suzuki "></ListItem>
          <ListItem title="Toyota"></ListItem>
          <ListItem title="Volkswagen"></ListItem>
          <ListItem title="Volvo"></ListItem>
        </List>
      </Page>
        
      
    );