Ion-searchbar - Ionic Framework

scoped

Searchbars represent a text field that can be used to search through a collection. They can be displayed inside of a toolbar or the main content. A searchbar should be used instead of an input to search lists.

Basic Usage​

AngularJavaScriptReactVueiOSMD

Search Icon​

A search icon is displayed to the left of the input field in a searchbar. It can be customized to any Ionicon.

AngularJavaScriptReactVueiOSMD

Clear Button​

A clear button is displayed when a searchbar has a value or upon entering input in the searchbar's text field. Clicking on the clear button will erase the text field and the input will remain focused. By default, the clear button is set to show when focusing the searchbar, but it can be set to always show or never show. The icon inside of the clear button can also be customized to any Ionicon.

AngularJavaScriptReactVueiOSMD

Cancel Button​

A cancel button can be enabled which will clear the input and lose the focus upon click. By default, cancel buttons are set to never show, but they can be set to always show or only show when focusing the searchbar. The cancel button is displayed as text in ios mode, and as an icon in md mode. Both the text and icon can be customized using different properties, with the icon accepting any Ionicon.

AngularJavaScriptReactVueiOSMD

Searchbars in Toolbars​

Searchbars are styled to look native when placed inside of a toolbar. In iOS, searchbars should be placed in their own toolbar, under a toolbar that contains the page title. In Material Design, searchbars are either persistently displayed in their own toolbar, or expand over a toolbar containing the page title.

AngularJavaScriptReactVueiOSMD

Debounce​

A debounce can be set on the searchbar in order to delay triggering the ionInput event. This is useful when querying data, as it can be used to wait to make a request instead of requesting the data each time a character is entered in the input.

AngularJavaScriptReactVueiOSMD

Theming​

Colors​

AngularJavaScriptReactVueiOSMD

CSS Custom Properties​

Searchbar uses scoped encapsulation, which means it will automatically scope its CSS by appending each of the styles with an additional class at runtime. Overriding scoped selectors in CSS requires a higher specificity selector. Targeting the ion-searchbar for customization will not work, therefore we recommend adding a class and customizing it that way.

AngularJavaScriptReactVueiOSMD

Keyboard Display​

Android​

By default, tapping the input will cause the keyboard to appear with a magnifying glass icon on the submit button. You can optionally set the inputmode property to "search", which will change the icon from a magnifying glass to a carriage return.

iOS​

By default, tapping the input will cause the keyboard to appear with the text "return" on a gray submit button. You can optionally set the inputmode property to "search", which will change the text from "return" to "go", and change the button color from gray to blue. Alternatively, you can wrap the ion-searchbar in a form element with an action property. This will cause the keyboard to appear with a blue submit button that says "search".

Interfaces​

SearchbarChangeEventDetail​

interfaceSearchbarChangeEventDetail{ value?:string;}

SearchbarCustomEvent​

While not required, this interface can be used in place of the CustomEvent interface for stronger typing with Ionic events emitted from this component.

interfaceSearchbarCustomEventextendsCustomEvent{ detail: SearchbarChangeEventDetail; target: HTMLIonSearchbarElement;}

Properties​

animated​

DescriptionIf true, enable searchbar animation.
Attributeanimated
Typeboolean
Defaultfalse

autocapitalize​

DescriptionIndicates whether and how the text value should be automatically capitalized as it is entered/edited by the user. Available options: "off", "none", "on", "sentences", "words", "characters".
Attributeautocapitalize
Typestring
Default'off'

autocomplete​

DescriptionSet the input's autocomplete property.
Attributeautocomplete
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'

autocorrect​

DescriptionSet the input's autocorrect property.
Attributeautocorrect
Type"off" | "on"
Default'off'

cancelButtonIcon​

DescriptionSet the cancel button icon. Only applies to md mode. Defaults to arrow-back-sharp.
Attributecancel-button-icon
Typestring
Defaultconfig.get('backButtonIcon', arrowBackSharp) as string

cancelButtonText​

DescriptionSet the cancel button text. Only applies to ios mode.
Attributecancel-button-text
Typestring
Default'Cancel'

clearIcon​

DescriptionSet the clear icon. Defaults to close-circle for ios and close-sharp for md.
Attributeclear-icon
Typestring | undefined
Defaultundefined

color​

DescriptionThe 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.
Attributecolor
Type"danger" | "dark" | "light" | "medium" | "primary" | "secondary" | "success" | "tertiary" | "warning" | string | undefined
Defaultundefined

debounce​

DescriptionSet the amount of time, in milliseconds, to wait to trigger the ionInput event after each keystroke.
Attributedebounce
Typenumber | undefined
Defaultundefined

disabled​

DescriptionIf true, the user cannot interact with the input.
Attributedisabled
Typeboolean
Defaultfalse

enterkeyhint​

DescriptionA hint to the browser for which enter key to display. Possible values: "enter", "done", "go", "next", "previous", "search", and "send".
Attributeenterkeyhint
Type"done" | "enter" | "go" | "next" | "previous" | "search" | "send" | undefined
Defaultundefined

inputmode​

DescriptionA hint to the browser for which keyboard to display. Possible values: "none", "text", "tel", "url", "email", "numeric", "decimal", and "search".
Attributeinputmode
Type"decimal" | "email" | "none" | "numeric" | "search" | "tel" | "text" | "url" | undefined
Defaultundefined

maxlength​

DescriptionThis attribute specifies the maximum number of characters that the user can enter.
Attributemaxlength
Typenumber | undefined
Defaultundefined

minlength​

DescriptionThis attribute specifies the minimum number of characters that the user can enter.
Attributeminlength
Typenumber | undefined
Defaultundefined

mode​

DescriptionThe mode determines which platform styles to use.This is a virtual property that is set once during initialization and will not update if you change its value after the initial render.
Attributemode
Type"ios" | "md"
Defaultundefined

name​

DescriptionIf used in a form, set the name of the control, which is submitted with the form data.
Attributename
Typestring
Defaultthis.inputId

placeholder​

DescriptionSet 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 &lt;Ionic&gt;For more information: Security Documentation
Attributeplaceholder
Typestring
Default'Search'

searchIcon​

DescriptionThe icon to use as the search icon. Defaults to search-outline in ios mode and search-sharp in md mode.
Attributesearch-icon
Typestring | undefined
Defaultundefined

showCancelButton​

DescriptionSets 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.
Attributeshow-cancel-button
Type"always" | "focus" | "never"
Default'never'

showClearButton​

DescriptionSets 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.
Attributeshow-clear-button
Type"always" | "focus" | "never"
Default'always'

spellcheck​

DescriptionIf true, enable spellcheck on the input.
Attributespellcheck
Typeboolean
Defaultfalse

type​

DescriptionSet the type of the input.
Attributetype
Type"email" | "number" | "password" | "search" | "tel" | "text" | "url"
Default'search'

value​

Descriptionthe value of the searchbar.
Attributevalue
Typenull | string | undefined
Default''

Events​

NameDescriptionBubbles
ionBlurEmitted when the input loses focus.true
ionCancelEmitted when the cancel button is clicked.true
ionChangeThe 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.This event will not emit when programmatically setting the value property.true
ionClearEmitted when the clear input button is clicked.true
ionFocusEmitted when the input has focus.true
ionInputEmitted when the value of the ion-searchbar element has changed.true

Methods​

getInputElement​

DescriptionReturns the native <input> element used under the hood.
SignaturegetInputElement() => Promise<HTMLInputElement>

setFocus​

DescriptionSets focus on the native input in ion-searchbar. Use this method instead of the global input.focus(). Developers who wish to focus an input when a page enters should call setFocus() in the ionViewDidEnter() lifecycle method. Developers who wish to focus an input when an overlay is presented should call setFocus after didPresent has resolved.See managing focus for more information.
SignaturesetFocus() => Promise<void>

CSS Shadow Parts​

No CSS shadow parts available for this component.

CSS Custom Properties​

  • iOS
  • MD
NameDescription
--backgroundBackground of the searchbar input
--border-radiusBorder radius of the searchbar input
--box-shadowBox shadow of the searchbar input
--cancel-button-colorColor of the searchbar cancel button
--clear-button-colorColor of the searchbar clear button
--colorColor of the searchbar text
--icon-colorColor of the searchbar icon
--placeholder-colorColor of the searchbar placeholder
--placeholder-font-styleFont style of the searchbar placeholder
--placeholder-font-weightFont weight of the searchbar placeholder
--placeholder-opacityOpacity of the searchbar placeholder
NameDescription
--backgroundBackground of the searchbar input
--border-radiusBorder radius of the searchbar input
--box-shadowBox shadow of the searchbar input
--cancel-button-colorColor of the searchbar cancel button
--clear-button-colorColor of the searchbar clear button
--colorColor of the searchbar text
--icon-colorColor of the searchbar icon
--placeholder-colorColor of the searchbar placeholder
--placeholder-font-styleFont style of the searchbar placeholder
--placeholder-font-weightFont weight of the searchbar placeholder
--placeholder-opacityOpacity of the searchbar placeholder

Slots​

No slots available for this component.

Từ khóa » Html Search Box With Icon