Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 添加rc滑块导航的按钮-react_Reactjs_React Component_Rc Slider - Fatal编程技术网

Reactjs 添加rc滑块导航的按钮-react

Reactjs 添加rc滑块导航的按钮-react,reactjs,react-component,rc-slider,Reactjs,React Component,Rc Slider,我试着用rc滑块来做这个滑块。 但我无法在标记上添加按钮“-”和“+” 我试着处理马克,但马克不接受道具的价值 我的min={}和max={}的值是动态的,那么-和+的值应该等于minValue(min)和maxValue(max) 这是我的代码,但标记不起作用 <Slider min={minValue} max={maxValue} step={simulationType === 'type' ? 100 : 5000} onChang

我试着用rc滑块来做这个滑块。 但我无法在标记上添加按钮“-”和“+”

我试着处理马克,但马克不接受道具的价值

我的min={}和max={}的值是动态的,那么-和+的值应该等于minValue(min)maxValue(max)

这是我的代码,但标记不起作用

<Slider
      min={minValue}
      max={maxValue}
      step={simulationType === 'type' ? 100 : 5000}
      onChange={this.props.onChange}
      defaultValue={this.props.value}
      marks={{minValue:'-', maxValue: '+'}} 
    />


我认为你使用的
标记是错误的。它们仅用于添加关于特定值的指示。我不认为他们应该像你想要的那样互动。您可以添加2个按钮来为您执行此操作。然后用滑块把它挂起来

我已经这样实现了它:

function SliderWrapper({ max, min, step }) {
  const [value, setValue] = useState(min);
  return (
    <>
      <button onClick={() => setValue(Math.max(0, value - 10))}>-</button>
      <Slider
        onChange={value => setValue(value)}
        value={value}
        step={step}
        min={min}
        max={max}
      />
      <button onClick={() => setValue(Math.min(100, value + 10))}>+</button>
    </>
  );
}
函数滑动说唱器({max,min,step}){
常量[值,设置值]=使用状态(最小值);
返回(
setValue(Math.max(0,值-10))}>-
设置值(值)}
value={value}
步骤={step}
min={min}
max={max}
/>
设置值(数学最小值(100,值+10))}>+
);
}

您可以在此处看到正在运行的实现:。我已经使用了React钩子,但是如果需要,您可以将它实现为带有
状态的类组件。

我认为您使用
标记是错误的。它们仅用于添加关于特定值的指示。我不认为他们应该像你想要的那样互动。您可以添加2个按钮来为您执行此操作。然后用滑块把它挂起来

我已经这样实现了它:

function SliderWrapper({ max, min, step }) {
  const [value, setValue] = useState(min);
  return (
    <>
      <button onClick={() => setValue(Math.max(0, value - 10))}>-</button>
      <Slider
        onChange={value => setValue(value)}
        value={value}
        step={step}
        min={min}
        max={max}
      />
      <button onClick={() => setValue(Math.min(100, value + 10))}>+</button>
    </>
  );
}
函数滑动说唱器({max,min,step}){
常量[值,设置值]=使用状态(最小值);
返回(
setValue(Math.max(0,值-10))}>-
设置值(值)}
value={value}
步骤={step}
min={min}
max={max}
/>
设置值(数学最小值(100,值+10))}>+
);
}

您可以在此处看到正在运行的实现:。我使用了React hook,但如果需要,您可以将其实现为带有
状态的类组件。

是否需要两个按钮来增加和减少滑块的值?是的,我需要这两个按钮在步骤上传递相等的值。是否需要两个按钮来增加和减少滑块的值?是,我需要这两个按钮来传递步骤上相等的值。谢谢你的帮助Maaz。如何在此组件上使用道具?我正在尝试转换类内组件,但不起作用。您指的是哪个组件?如果您指的是
SliderRapper
,那么您只需在第一个函数参数中添加更多键即可。谢谢您的帮助。如何在此组件上使用道具?我正在尝试转换类内组件,但不起作用。您指的是哪个组件?如果您指的是
sliderrapper
,那么您只需在第一个函数参数的中添加更多键即可。