This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
滑块
一个与 @react-native-community/slider 兼容的滑块。
一个 Slider 组件,其 API 与 @react-native-community/slider 兼容。它在 Android 上使用 Material 3 Slider,在 iOS 上使用 SwiftUI Slider,在 web 上使用原生 <input type="range"> 元素。
🌐 A Slider component with an API compatible with @react-native-community/slider. It uses a Material 3 Slider on Android, a SwiftUI Slider on iOS, and a native <input type="range"> element on web.
在内部,这个组件封装了平台特定的 @expo/ui 原语:
🌐 Under the hood this component wraps the platform-specific @expo/ui primitives:
- Android: Jetpack Compose 滑块
- iOS: SwiftUI 滑块
如果你需要更底层的控制,请直接使用那些原语。
🌐 If you need lower-level control, use those primitives directly.
安装
🌐 Installation
- npx expo install @expo/uiIf you are installing this in an existing React Native app, make sure to install expo in your project.
从 @react-native-community/slider 迁移
🌐 Migrating from @react-native-community/slider
- 将导入从
import Slider from '@react-native-community/slider'更新为import Slider from '@expo/ui/community/slider'。 onSlidingStart、onSlidingComplete、tapToSeek、StepMarker、renderStepNumber、thumbImage、minimumTrackImage、maximumTrackImage、trackImage、accessibilityUnits、accessibilityIncrements、testID和ref.updateValue尚不支持。- 在 iOS 上,
maximumTrackTintColor和thumbTintColor没有视觉效果——SwiftUI 的Slider只暴露最小(活动)轨迹颜色。minimumTrackTintColor在两个平台上都有效。
基本用法
🌐 Basic usage
import { useState } from 'react'; import { Text, View } from 'react-native'; import Slider from '@expo/ui/community/slider'; export default function SliderExample() { const [value, setValue] = useState(0.5); return ( <View> <Slider value={value} onValueChange={setValue} /> <Text>Value: {value.toFixed(3)}</Text> </View> ); }
应用接口
🌐 API
import Slider from '@expo/ui/community/slider';
Component
Type: React.Element<SliderProps>
A drop-in replacement for @react-native-community/slider. Renders a
SwiftUI Slider on iOS, a Material 3 Slider on Android, and a native
HTML <input type="range"> on web.
Props for the Slider community drop-in component.
Compatible with @react-native-community/slider.
boolean • Default: falseReverses the direction of the slider so the maximum value is on the left and the minimum value is on the right.
numberThe lower limit value of the slider. The user won't be able to slide below this limit.
ColorValueColor of the track to the right of the thumb.
(value: number) => voidCallback continuously called while the user is dragging the slider.
number • Default: 0Step value of the slider. The value should be between 0 and (maximumValue - minimumValue). A value of 0 means continuous (no snapping).
numberThe upper limit value of the slider. The user won't be able to slide above this limit.