本文へスキップ
バージョン: v8

ion-searchbar

スコープ済み

検索バーは、コレクション内を検索するために使用できるテキストフィールドです。ツールバーまたはメインコンテンツ内に表示できます。リストを検索するには、入力ではなく検索バーを使用する必要があります。

基本的な使用方法

検索アイコン

検索アイコンは、検索バーの入力フィールドの左側に表示されます。任意のIoniconにカスタマイズできます。

クリアボタン

クリアボタンは、検索バーに値がある場合、または検索バーのテキストフィールドに入力すると表示されます。クリアボタンをクリックすると、テキストフィールドが消去され、入力がフォーカスされたままになります。デフォルトでは、検索バーにフォーカスしたときにクリアボタンが表示されるように設定されていますが、常に表示または非表示にするように設定できます。クリアボタン内のアイコンも、任意のIoniconにカスタマイズできます。

キャンセルボタン

クリック時に入力をクリアしてフォーカスを失うキャンセルボタンを有効にできます。デフォルトでは、キャンセルボタンは非表示に設定されていますが、常に表示するか、検索バーにフォーカスしている場合にのみ表示するように設定できます。キャンセルボタンは、`ios`モードではテキストとして、`md`モードではアイコンとして表示されます。テキストとアイコンの両方を異なるプロパティを使用してカスタマイズできます。アイコンは任意のIoniconを使用できます。

ツールバー内の検索バー

検索バーは、ツールバー内に配置するとネイティブのように表示されます。iOSでは、検索バーはページタイトルを含むツールバーの下にある独自のツールバーに配置する必要があります。マテリアルデザインでは、検索バーは独自のツールバーに永続的に表示されるか、ページタイトルを含むツールバーの上に展開されます。

デバウンス

`ionInput`イベントのトリガーを遅らせるために、検索バーにデバウンスを設定できます。これはデータのクエリを行う際に役立ちます。入力に文字が入力されるたびにデータのリクエストを行うのではなく、リクエストを行うのを待つために使用できます。

テーマ

カラー

CSSカスタムプロパティ

検索バーはスコープされたカプセル化を使用しているため、実行時に各スタイルに追加のクラスを追加することで、CSSが自動的にスコープされます。CSSでスコープされたセレクターをオーバーライドするには、より高い特異性を持つセレクターが必要です。カスタマイズのために`ion-searchbar`をターゲットにしても機能しないため、クラスを追加してその方法でカスタマイズすることをお勧めします。

キーボードの表示

Android

デフォルトでは、入力タップすると、送信ボタンに虫眼鏡アイコンが表示されたキーボードが表示されます。オプションで`inputmode`プロパティを`"search"`に設定できます。これにより、アイコンが虫眼鏡からキャリッジリターンに変更されます。

iOS

デフォルトでは、入力タップすると、灰色の送信ボタンに「return」というテキストが表示されたキーボードが表示されます。オプションで`inputmode`プロパティを`"search"`に設定できます。これにより、テキストが「return」から「go」に変更され、ボタンの色が灰色から青に変更されます。あるいは、`ion-searchbar`を`action`プロパティを持つ`form`要素でラップすることもできます。これにより、「search」という青い送信ボタンが表示されたキーボードが表示されます。

インターフェース

SearchbarChangeEventDetail

interface SearchbarChangeEventDetail {
value?: string;
}

SearchbarCustomEvent

必須ではありませんが、このインターフェースを`CustomEvent`インターフェースの代わりに使用して、このコンポーネントから発行されるIonicイベントの型付けを強化できます。

interface SearchbarCustomEvent extends CustomEvent {
detail: SearchbarChangeEventDetail;
target: HTMLIonSearchbarElement;
}

プロパティ

animated

説明`true`の場合、検索バーアニメーションを有効にします。
属性animated
boolean
デフォルトfalse

autocapitalize

説明ユーザーが入力/編集したテキスト値を自動的に大文字にするかどうか、どのように行うかを指定します。使用可能なオプション:`"off"`、`"none"`、`"on"`、`"sentences"`、`"words"`、`"characters"`。
属性autocapitalize
string
デフォルト'off'

autocomplete

説明入力のautocompleteプロパティを設定します。
属性autocomplete
"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"
デフォルト'off'

autocorrect

説明入力のautocorrectプロパティを設定します。
属性autocorrect
"off" | "on"
デフォルト'off'

cancelButtonIcon

説明キャンセルボタンのアイコンを設定します。`md`モードにのみ適用されます。デフォルトは`arrow-back-sharp`です。
属性cancel-button-icon
string
デフォルトconfig.get('backButtonIcon', arrowBackSharp) as string

cancelButtonText

説明キャンセルボタンのテキストを設定します。`ios`モードにのみ適用されます。
属性cancel-button-text
string
デフォルト'Cancel'

clearIcon

説明クリアアイコンを設定します。`ios`の場合は`close-circle`、`md`の場合は`close-sharp`がデフォルトです。
属性clear-icon
string | undefined
デフォルトundefined

color

説明アプリケーションの色パレットから使用する色です。デフォルトオプションは、"primary""secondary""tertiary""success""warning""danger""light""medium""dark"です。色の詳細については、テーマ設定を参照してください。
属性
"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | 文字列 | 未定義
デフォルトundefined

debounce

説明各キーストロークの後、ionInputイベントをトリガーするまでの待機時間をミリ秒単位で設定します。
属性debounce
数値 | 未定義
デフォルトundefined

disabled

説明trueの場合、ユーザーは入力とインタラクトできません。
属性disabled
boolean
デフォルトfalse

enterkeyhint

説明表示するEnterキーをブラウザにヒントします。可能な値:"enter""done""go""next""previous""search""send"
属性enterkeyhint
"done" | "enter" | "go" | "next" | "previous" | "search" | "send" | 未定義
デフォルトundefined

inputmode

説明表示するキーボードをブラウザにヒントします。可能な値:"none""text""tel""url""email""numeric""decimal""search"
属性inputmode
"decimal" | "email" | "none" | "numeric" | "search" | "tel" | "text" | "url" | 未定義
デフォルトundefined

maxlength

説明この属性は、ユーザーが入力できる最大文字数を指定します。
属性maxlength
数値 | 未定義
デフォルトundefined

minlength

説明この属性は、ユーザーが入力できる最小文字数を指定します。
属性minlength
数値 | 未定義
デフォルトundefined

mode

説明modeは、使用するプラットフォームスタイルを決定します。
属性mode
"ios" | "md"
デフォルトundefined

name

説明フォームで使用する場合、フォームデータと共に送信されるコントロールの名前を設定します。
属性name
string
デフォルトthis.inputId

placeholder

説明入力のプレースホルダーを設定します。placeholderは、プレーンテキストまたはHTMLを文字列として受け入れることができます。HTML用に予約されている文字を表示するには、エスケープする必要があります。例えば、<Ionic>&lt;Ionic&gt;になります。

詳細情報:セキュリティドキュメント
属性placeholder
string
デフォルト'検索'

searchIcon

説明検索アイコンとして使用するアイコンです。iosモードではsearch-outlinemdモードではsearch-sharpがデフォルトです。
属性search-icon
string | undefined
デフォルトundefined

showCancelButton

説明キャンセルボタンの動作を設定します。デフォルトは"never"です。"focus"に設定すると、フォーカス時にキャンセルボタンが表示されます。"never"に設定すると、キャンセルボタンは非表示になります。"always"に設定すると、フォーカス状態に関係なくキャンセルボタンが表示されます。
属性show-cancel-button
"always" | "focus" | "never"
デフォルト'never'

showClearButton

説明クリアボタンの動作を設定します。デフォルトは"focus"です。"focus"に設定すると、入力が空でない場合、フォーカス時にクリアボタンが表示されます。"never"に設定すると、クリアボタンは非表示になります。"always"に設定すると、入力が空でない場合、フォーカス状態に関係なくクリアボタンが表示されます。
属性show-clear-button
"always" | "focus" | "never"
デフォルト'always'

spellcheck

説明trueの場合、入力でスペルチェックを有効にします。
属性spellcheck
boolean
デフォルトfalse

type

説明入力の種類を設定します。
属性type
"email" | "number" | "password" | "search" | "tel" | "text" | "url"
デフォルト'search'

value

説明検索バーの値。
属性value
null | 文字列 | 未定義
デフォルト''

イベント

名前説明バブルアップ
ionBlur入力がフォーカスを失ったときに発生します。true
ionCancelキャンセルボタンがクリックされたときに発生します。true
ionChangeユーザーが要素の値を変更したときに、<ion-searchbar>要素に対してionChangeイベントが発生します。ionInputイベントとは異なり、ionChangeイベントは要素の値の変更ごとに必ずしも発生するわけではありません。

ユーザーが値を確定したときにionChangeイベントが発生します。これは、要素がフォーカスを失ったとき、または「Enter」キーが押されたときに発生します。ionChangeは、クリアボタンまたはキャンセルボタンをクリックしたときにも発生する可能性があります。

このイベントは、プログラムによってvalueプロパティを設定したときには発生しません。
true
ionClearクリア入力ボタンがクリックされたときに発生します。true
ionFocus入力がフォーカスされたときに発生します。true
ionInpution-searchbar要素のvalueが変更されたときに発生します。true

メソッド

getInputElement

説明内部で使用されているネイティブの<input>要素を返します。
シグネチャgetInputElement() => Promise<HTMLInputElement>

setFocus

説明ion-searchbar内のネイティブinputにフォーカスを設定します。グローバルなinput.focus()の代わりにこのメソッドを使用してください。

ページが表示されたときに入力をフォーカスさせたい開発者は、ionViewDidEnter()ライフサイクルメソッドでsetFocus()を呼び出す必要があります。

オーバーレイが表示されたときに入力をフォーカスさせたい開発者は、didPresentが解決した後にsetFocusを呼び出す必要があります。

詳細については、フォーカスの管理を参照してください。
シグネチャsetFocus() => Promise<void>

CSSシャドウパーツ

このコンポーネントではCSSシャドウパーツは使用できません。

CSSカスタムプロパティ

名前説明
--background検索バー入力の背景
--border-radius検索バー入力のボーダー半径
--box-shadow検索バー入力のボックスシャドウ
--cancel-button-color検索バーキャンセルボタンの色
--clear-button-color検索バークリアボタンの色
--color検索バーテキストの色
--icon-color検索バーアイコンの色
--placeholder-color検索バープレースホルダーの色
--placeholder-font-style検索バープレースホルダーのフォントスタイル
--placeholder-font-weight検索バープレースホルダーのフォントウェイト
--placeholder-opacity検索バープレースホルダーの不透明度

スロット

このコンポーネントではスロットは使用できません。