scoped 検索バーは、コレクションを検索するために使用できるテキストフィールドを表します。ツールバーやメインコンテンツの中に表示することができます。検索バーは、検索リストへの入力の代わりに使用する必要があります。
検索バーのInputフィールドの左に表示される検索アイコンです。任意の Ionicon にカスタマイズすることが可能です。
検索バーに値があるとき、または検索バーのテキストフィールドに入力があったときに、クリアボタンが表示されます。クリアボタンをクリックすると、テキストフィールドは消去され、入力はフォーカスされたままになります。デフォルトでは、クリアボタンは検索バーをフォーカスしたときに表示されるように設定されていますが、常に表示する、または全く表示しないように設定することができます。また、クリアボタン内のアイコンは、任意のIonicon にカスタマイズすることができます。
キャンセルボタンを有効にすると、クリックすると入力がクリアされ、フォーカスが失われます。デフォルトでは、キャンセルボタンは表示されないように設定されていますが、常に表示するように設定したり、検索バーにフォーカスが当たったときのみ表示するように設定したりすることができます。キャンセルボタンは ios
モードではテキストとして、md
モードではアイコンとして表示されます。テキストとアイコンはそれぞれ別のプロパティでカスタマイズでき、アイコンは任意のIonicon を使用することができます。
検索バーは、ツールバーの中に配置されたときにネイティブに見えるようにスタイルされています。iOSでは、検索バーは、ページタイトルを含むツールバーの下にある、独自のツールバーに配置されるべきです。Material Designでは、検索バーは、独自のツールバーに永続的に表示されるか、ページタイトルを含むツールバーの上に展開されるかのいずれかです。
検索バーにDebounceを設定して、ionChange
イベントのトリガーを遅延させることができます。これは、入力に文字が入力されるたびにデータを要求するのではなく、要求を出すのを待つために使うことができるので、データを問い合わせるときに便利です。
検索バーは、スコープをつけてカプセル化されています。これは、実行時に各スタイルに追加のクラスを付加することで、CSSを自動的にスコープ化することを意味します。CSSでscopedセレクタを上書きするには、higher specificity セレクタが必要です。そのため、クラスを追加してカスタマイズすることをお勧めします。
デフォルトでは、Inputをタップするとキーボードが表示され、サブミットボタンに虫眼鏡のアイコンが表示されます。オプションで inputmode
プロパティを "search"
に設定すると、アイコンが虫眼鏡からarriage returnに変更されます。
デフォルトでは、Inputをタップするとキーボードが表示され、グレーのSubmitボタンに「return」のテキストが表示されます。オプションで inputmode
プロパティを "search"
に設定すると、テキストが "return" から "go" に変わり、ボタンの色もグレーから青に変わります。また、ion-searchbar
を form
要素でラップして、 action
プロパティを設定することもできます。これにより、キーボードが表示され、"search "という青いSubmitボタンが表示されるようになります。
interface SearchbarChangeEventDetail { value ? : string ; }
Copy 必須ではありませんが、このコンポーネントから発行される Ionic イベントでより強く型付けを行うために、CustomEvent
インターフェースの代わりにこのインターフェースを使用することが可能です。
interface SearchbarCustomEvent extends CustomEvent { detail : SearchbarChangeEventDetail ; target : HTMLIonSearchbarElement ; }
Copy Description If true
, enable searchbar animation. Attribute animated
Type boolean
Default false
Description Set the input's autocomplete property. Attribute autocomplete
Type "name" | "email" | "tel" | "url" | "on" | "off" | "honorific-prefix" | "given-name" | "additional-name" | "family-name" | "honorific-suffix" | "nickname" | "username" | "new-password" | "current-password" | "one-time-code" | "organization-title" | "organization" | "street-address" | "address-line1" | "address-line2" | "address-line3" | "address-level4" | "address-level3" | "address-level2" | "address-level1" | "country" | "country-name" | "postal-code" | "cc-name" | "cc-given-name" | "cc-additional-name" | "cc-family-name" | "cc-number" | "cc-exp" | "cc-exp-month" | "cc-exp-year" | "cc-csc" | "cc-type" | "transaction-currency" | "transaction-amount" | "language" | "bday" | "bday-day" | "bday-month" | "bday-year" | "sex" | "tel-country-code" | "tel-national" | "tel-area-code" | "tel-local" | "tel-extension" | "impp" | "photo"
Default 'off'
Description Set the input's autocorrect property. Attribute autocorrect
Type "off" | "on"
Default 'off'
Description Set the cancel button icon. Only applies to md
mode. Defaults to arrow-back-sharp
. Attribute cancel-button-icon
Type string
Default config.get('backButtonIcon', arrowBackSharp) as string
Description Set the the cancel button text. Only applies to ios
mode. Attribute cancel-button-text
Type string
Default 'Cancel'
Description Set the clear icon. Defaults to close-circle
for ios
and close-sharp
for md
. Attribute clear-icon
Type string | undefined
Default undefined
Description The color to use from your application's color palette. Default options are: "primary"
, "secondary"
, "tertiary"
, "success"
, "warning"
, "danger"
, "light"
, "medium"
, and "dark"
. For more information on colors, see theming . Attribute color
Type "danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string & Record<never, never> | undefined
Default undefined
Description Set the amount of time, in milliseconds, to wait to trigger the ionInput
event after each keystroke. Attribute debounce
Type number | undefined
Default undefined
Description If true
, the user cannot interact with the input. Attribute disabled
Type boolean
Default false
Description A hint to the browser for which enter key to display. Possible values: "enter"
, "done"
, "go"
, "next"
, "previous"
, "search"
, and "send"
. Attribute enterkeyhint
Type "done" | "enter" | "go" | "next" | "previous" | "search" | "send" | undefined
Default undefined
Description A hint to the browser for which keyboard to display. Possible values: "none"
, "text"
, "tel"
, "url"
, "email"
, "numeric"
, "decimal"
, and "search"
. Attribute inputmode
Type "decimal" | "email" | "none" | "numeric" | "search" | "tel" | "text" | "url" | undefined
Default undefined
Description The mode determines which platform styles to use. Attribute mode
Type "ios" | "md"
Default undefined
Description Set the input's placeholder. placeholder
can accept either plaintext or HTML as a string. To display characters normally reserved for HTML, they must be escaped. For example <Ionic>
would become <Ionic>
For more information: Security Documentation Attribute placeholder
Type string
Default 'Search'
Description The icon to use as the search icon. Defaults to search-outline
in ios
mode and search-sharp
in md
mode. Attribute search-icon
Type string | undefined
Default undefined
Description Sets the behavior for the cancel button. Defaults to "never"
. Setting to "focus"
shows the cancel button on focus. Setting to "never"
hides the cancel button. Setting to "always"
shows the cancel button regardless of focus state. Attribute show-cancel-button
Type "always" | "focus" | "never"
Default 'never'
Description Sets the behavior for the clear button. Defaults to "focus"
. Setting to "focus"
shows the clear button on focus if the input is not empty. Setting to "never"
hides the clear button. Setting to "always"
shows the clear button regardless of focus state, but only if the input is not empty. Attribute show-clear-button
Type "always" | "focus" | "never"
Default 'always'
Description If true
, enable spellcheck on the input. Attribute spellcheck
Type boolean
Default false
Description Set the type of the input. Attribute type
Type "email" | "number" | "password" | "search" | "tel" | "text" | "url"
Default 'search'
Description the value of the searchbar. Attribute value
Type null | string | undefined
Default ''
Name Description ionBlur
Emitted when the input loses focus. ionCancel
Emitted when the cancel button is clicked. ionChange
The ionChange
event is fired for <ion-searchbar>
elements when the user modifies the element's value. Unlike the ionInput
event, the ionChange
event is not necessarily fired for each alteration to an element's value. The ionChange
event is fired when the value has been committed by the user. This can happen when the element loses focus or when the "Enter" key is pressed. ionChange
can also fire when clicking the clear or cancel buttons. ionClear
Emitted when the clear input button is clicked. ionFocus
Emitted when the input has focus. ionInput
Emitted when the value
of the ion-searchbar
element has changed.
Description Returns the native <input>
element used under the hood. Signature getInputElement() => Promise<HTMLInputElement>
Description Sets focus on the specified ion-searchbar
. Use this method instead of the global input.focus()
. Signature setFocus() => Promise<void>
No CSS shadow parts available for this component.
Name Description --background
Background of the searchbar input --border-radius
Border radius of the searchbar input --box-shadow
Box shadow of the searchbar input --cancel-button-color
Color of the searchbar cancel button --clear-button-color
Color of the searchbar clear button --color
Color of the searchbar text --icon-color
Color of the searchbar icon --placeholder-color
Color of the searchbar placeholder --placeholder-font-style
Font style of the searchbar placeholder --placeholder-font-weight
Font weight of the searchbar placeholder --placeholder-opacity
Opacity of the searchbar placeholder
No slots available for this component.