所以我使用這個基礎滑塊:click for doc。爲了訪問滑塊的當前價值,他們建議使用隱藏的輸入,像這樣:當輸入值被滑塊改變時設置狀態 - ReactJS
<div class="slider" data-slider data-initial-start="50" data-end="200">
<span class="slider-handle" data-slider-handle role="slider" tabindex="1">
</span>
<span class="slider-fill" data-slider-fill></span>
<input type="hidden">
</div>
我想要做的就是旁邊的滑塊使用一些變量顯示的值。我的想法是使用類似onChange()的方法來監聽輸入值的變化,並將其設置爲一個函數來設置狀態,從而調用具有更新值的渲染函數。問題在於,這隻有在用戶輸入值以及滑塊更改它不調用onChange()或我嘗試的任何其他函數時才起作用。這裏是我的代碼:
功能即是應該被觸發:
onValueChange: function() {
this.setState({
setTemp: this.refs.location.value
});
},
內部渲染功能:
var {setTemp} = this.state;
<div className="controlPanel">
<div className="slider vertical" data-slider data-initial-start={curTemp} data-step="5" data-end="110" data-vertical="true">
<span className="slider-handle" data-slider-handle role="slider" tabIndex="1" onClick={this.onValueChange}></span>
<span className="slider-fill" data-slider-fill></span>
<input id="tempInput" type="hidden" ref="location" onChange={this.onValueChange}/>
</div>
</div>
<div className="currentStats">
Temp: {setTemp}
</div>
我試圖在滑塊本身添加的onClick,onMove功能和它的工作,但我只有當滑塊的值發生更改時,才需要調用該功能
任何創意?
反應滑塊的代碼,你可以參考 - HTTPS:/ /github.com/mpowaga/react-slider/blob/master/react-slider.js – vijayst