javascript - 使用 Material-UI 中的 slider 动态处理 slider

标签 javascript reactjs slider

我想根据用户输入动态生成 slider ,并且不知道如何保存更改时的值。以下是我的实现的代码。 问题是我无法通过 event.target.value 获取值 //PriceCities 是一个对象数组:

handlePrices(priceCities){

        return   priceCities.map( (cstate, index) => (
             <li key={index}  >{cstate.name}  <Slider key={index} min={3} max={500}  step={1} style={{height: 100}} axis="y" 
            defaultValue={5}  id ={cstate.id} onChange={ this.handleSlider.bind(this,cstate.id )}  value={this.state.values[cstate.id] }   />   <span>{this.state.values[cstate.id]}</span> </li> 
        ));

}


this.state = {
    values: []
}

onChange() 方法:

   handleSlider ( event,i ) {

   // this.state.sliderValue[event.target.id] =  event.target.value;
    //console.log('handlerslider'+event.target.id+' '+event.target.value);
    let values = [...this.state.values];
    values[i] = event.target.value;
    this.setState({ values });
}

最佳答案

最后我通过定义 onChange 方法找到了解决方案,如下所示:

 onChange={(event,value) => this.handleSlider(event, value,currState.id )} 

以及handleSlider函数的代码:

handleSlider (event, value,id) {
    let values = [...this.state.sliderValue];

    values[id] =  value;
    this.setState({sliderValue: values });
    console.log('handlerslider'+value+' '+id);
}

关于javascript - 使用 Material-UI 中的 slider 动态处理 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48921885/

相关文章:

javascript - 如何在 jquery 中将函数调用嵌入到另一个函数中?

javascript - DOM 事件和 sencha 事件之间的事件顺序

javascript - 有没有办法更改弹出的 create-react-app 的 eslint 规则?

javascript - 尝试用 css 和 js 做一个以上的页面 slider

math - 计算用于放大和拖动图像的 svg 变换值

Jquery 平移 slider - 基于屏幕分辨率的图像宽度

javascript - TypeError JavaScript 音频文件

javascript - 类型 'void' 没有属性 'blob' 并且没有字符串索引签名

javascript - 如何在异步函数内批量调用 React setState() ?

javascript - TypeError : _react2. 默认值。PropTypes 未定义