You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Vertical Slider库onChange与onComplete属性使用疑问

问题解决方法

报错原因

你遇到的number关键字报错,是因为官方示例使用了TypeScript的参数类型标注语法,如果你当前项目是普通JavaScript项目,不支持该语法,直接删除类型标注即可。

核心属性差异说明

  • onChange:滑块拖动过程中会持续触发,适合需要实时响应滑块值变化的场景
  • onComplete:滑块拖动结束、用户抬手时才会触发,适合仅需要最终取值、不需要实时更新的场景

功能实现代码

你可以通过React的state存储滑块的当前值,完整实现代码如下:

import React, { useState } from 'react';
import { View, Text } from 'react-native';
import VerticalSlider from 'rn-vertical-slider';

const VerticalSliderDemo = () => {
  // 初始化state存储滑块值,可根据需求修改初始值、最小值、最大值
  const [sliderVal, setSliderVal] = useState(30);

  return (
    <View style={{ padding: 20 }}>
      <Text>当前滑块值:{sliderVal}</Text>
      <VerticalSlider
        value={sliderVal}
        min={0}
        max={100}
        step={1}
        height={300}
        width={50}
        // 实时更新滑块值
        onChange={(value) => {
          setSliderVal(value);
        }}
        // 拖动结束后触发
        onComplete={(value) => {
          console.log("滑块最终值:", value);
          // 此处可添加拖动结束后的业务逻辑
        }}
      />
    </View>
  );
};

export default VerticalSliderDemo;

TypeScript项目适配说明

如果你使用的是TypeScript项目依然出现报错,可以手动对值做类型转换,写法如下:

onChange={(value: number) => {
  setSliderVal(Number(value));
}}

内容的提问来源于stack exchange,提问作者Aeneator

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 07:12:02