[フレーム]
Skip to main content
This is documentation for Ionic Documentation v6, which is no longer actively maintained.
For up-to-date documentation, see the latest version (v7).
Version: v6

ion-range

shadow

The Range slider lets users select from a range of values by moving the slider knob. By default one knob controls the value of the range. This behavior can be customized using dual knobs.

By default the Range slider has a minimum value of 0 and a maximum value of 100. This can be configured with the min and max properties.

Basic Usage

Range Labels

Labels and custom UI elements can be slotted on either side of the range by adding slot="start" or slot="end" to the element. The element can be any element, such as an ion-label, ion-icon or a div. If the directionality of the document is set to left to right, the contents slotted to the start position will display to the left of the range, where as contents slotted to the end position will display to the right of the range. In right to left (rtl) directionality, the contents slotted to the start position will display to the right of the range, where as contents slotted to the end position` will display to the left of the range.

Dual Knobs

Dual knobs introduce two knob controls that users can use to select a value at a lower and upper bounds. When selected, the Range will emit an ionChange event with a RangeValue, containing the upper and lower values selected.

Pins

The pin attribute will display the value of the Range above the knob when dragged. This allows users to select a specific value within the Range.

With the pinFormatter function, developers can customize the formatting of the range value to the user.

Snapping & Ticks

Ticks show indications for each available value on the Range. In order to use ticks, developers must set both snaps and the ticks property to true.

With snapping enabled, the Range knob will snap to the nearest available value as the knob is dragged and released.

Event Handling

Using ionChange

The ionChange event emits as the Range knob value changes.

Using ionKnobMoveStart and ionKnobMoveEnd

The ionKnobMoveStart event emits when the Range knob begins dragging, whether through mouse drag, touch gesture or keyboard interaction. Inversely, ionKnobMoveEnd emits when the Range knob is released. Both events emit with the RangeValue type and work in combination with the dualKnobs property.

Theming

CSS Custom Properties

Range includes CSS Variables to quickly theme and customize the appearance of the Range component to match your application's design.

CSS Shadow Parts

Range includes CSS Shadow Parts to allow complete customization of specific element nodes within the Range component. CSS Shadow Parts offer the most customization capabilities and are the recommended approach when requiring advance styling with the Range component.

Interfaces

RangeChangeEventDetail

interfaceRangeChangeEventDetail{
value: RangeValue;
}

RangeKnobMoveStartEventDetail

interfaceRangeKnobMoveStartEventDetail{
value: RangeValue;
}

RangeKnobMoveEndEventDetail

interfaceRangeKnobMoveEndEventDetail{
value: RangeValue;
}

RangeCustomEvent

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

interfaceRangeCustomEventextendsCustomEvent{
detail: RangeChangeEventDetail;
target: HTMLIonRangeElement;
}

Types

RangeValue

typeRangeValue=number|{ lower:number; upper:number};

Properties

activeBarStart

Description The start position of the range active bar. This feature is only available with a single knob (dualKnobs="false"). Valid values are greater than or equal to the min value and less than or equal to the max value.
Attribute active-bar-start
Type number | undefined
Default undefined

color

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 | undefined
Default undefined

debounce

Description How long, in milliseconds, to wait to trigger the ionChange event after each change in the range value. This also impacts form bindings such as ngModel or v-model.
Attribute debounce
Type number
Default 0

disabled

Description If true, the user cannot interact with the range.
Attribute disabled
Type boolean
Default false

dualKnobs

Description Show two knobs.
Attribute dual-knobs
Type boolean
Default false

max

Description Maximum integer value of the range.
Attribute max
Type number
Default 100

min

Description Minimum integer value of the range.
Attribute min
Type number
Default 0

mode

Description The mode determines which platform styles to use.
Attribute mode
Type "ios" | "md"
Default undefined

name

Description The name of the control, which is submitted with the form data.
Attribute name
Type string
Default ''

pin

Description If true, a pin with integer value is shown when the knob is pressed.
Attribute pin
Type boolean
Default false

pinFormatter

Description A callback used to format the pin text. By default the pin text is set to Math.round(value).
Attribute undefined
Type (value: number) => string | number
Default (value: number): number => Math.round(value)

snaps

Description If true, the knob snaps to tick marks evenly spaced based on the step property value.
Attribute snaps
Type boolean
Default false

step

Description Specifies the value granularity.
Attribute step
Type number
Default 1

ticks

Description If true, tick marks are displayed based on the step value. Only applies when snaps is true.
Attribute ticks
Type boolean
Default true

value

Description the value of the range.
Attribute value
Type number | { lower: number; upper: number; }
Default 0

Events

NameDescriptionBubbles
ionBlurEmitted when the range loses focus.true
ionChangeEmitted when the value property has changed.true
ionFocusEmitted when the range has focus.true
ionKnobMoveEndEmitted when the user finishes moving the range knob, whether through mouse drag, touch gesture, or keyboard interaction.true
ionKnobMoveStartEmitted when the user starts moving the range knob, whether through mouse drag, touch gesture, or keyboard interaction.true

Methods

No public methods available for this component.

CSS Shadow Parts

NameDescription
barThe inactive part of the bar.
bar-activeThe active part of the bar.
knobThe handle that is used to drag the range.
pinThe counter that appears above a knob.
tickAn inactive tick mark.
tick-activeAn active tick mark.

CSS Custom Properties

NameDescription
--bar-backgroundBackground of the range bar
--bar-background-activeBackground of the active range bar
--bar-border-radiusBorder radius of the range bar
--bar-heightHeight of the range bar
--heightHeight of the range
--knob-backgroundBackground of the range knob
--knob-border-radiusBorder radius of the range knob
--knob-box-shadowBox shadow of the range knob
--knob-sizeSize of the range knob
--pin-backgroundBackground of the range pin (only available in MD mode)
--pin-colorColor of the range pin (only available in MD mode)

Slots

NameDescription
endContent is placed to the right of the range slider in LTR, and to the left in RTL.
startContent is placed to the left of the range slider in LTR, and to the right in RTL.

AltStyle によって変換されたページ (->オリジナル) /