我想动态设置slider 的value值,但是设置了value就拖拽不了了,如何解决?
<Slider
tipFormatter={value => `${value}%`}
defaultValue={scale * 100}
value={scale * 100}
step={5}
min={10}
max={100}
onAfterChange={value => {
this.sliderChanged(value);
}}
/>
sliderChanged = value => {
this.props.setCanvas(
Map({
scale: value / 100
})
);
};
此时组件还不是个受控组件,value值固定了。添加个 onChange 属性。
如果scale是props的属性,声明个state值,比如currentSlider,赋值为scale。
看你代码逻辑,已经设置了
defaultValue
没必要自己控制value
了。在onAfterChange
里拿到的value
就是当前 Slider 的值了。