如何用反应更新范围滑块的值

时间:2017-03-10 11:42:25

标签: javascript reactjs

<TableLayout
    android:stretchColumns="0,1,2"
</TableLayout>

2 个答案:

答案 0 :(得分:1)

由于您使用onChange方法意味着controlled input,因此您需要使用state值来存储更改后的值onchange方法更新{{ 1}}各个state元素的值,请查看此示例如何input滑块值,运行此代码段:

change
class App extends React.Component{
 
   constructor(){
       super();
       this.state = {
          val_brightness: '',
          val_blur: ''
       }
   }
   
   handleChange(e){
       let obj = {};
       obj[e.target.name] = e.target.value;
       this.setState(obj);
   }
   
   showActions(){
      return(
        <div className="action -bar"> 
            Brightness : <input type="range" min="0" max="1" name='val_brightness' value={this.state.val_brightness} onChange={(e) => {this.handleChange(e)}}/>  
            <br/> 
            Blur : <input type="range" min="1" max="5" value={this.state.val_blur} name='val_blur' onChange={(e) => {this.handleChange(e)}}/>
        </div>
      )
   }
   
   render(){
      return(
         this.showActions()
      )
   } 
}

ReactDOM.render(<App/>, document.getElementById('app'))

答案 1 :(得分:-1)

在react.js中,有两种方法可以改变组件的状态。 建议的做法是使子组件值prop取决于父级的状态,并改变父组件的状态,这将导致重新呈现整个组件。

hacky方法是使用ref。

直接更改组件的prop

我建议你仔细阅读react.js文档,直到你明白我的意思。