Я использую ag-grid со столбцом ползунка в моем приложении реакции.
Значение ползунка исходит из данных строки
mydata = [{
id = "1"
name="John",
sliderValue = 100},
{
id = "2"
name="John",
sliderValue = 50
}]
, и это код рендерера
cellRendererFramework : (params) {
return <div>
<Slider
max = {100}
min= {0}
value = { Number(params.data.sliderValue }
onValueChange = { (value) => this.changeSliderValue(params.data.id, value) }}
/>
</div>
}
и это sliderValueChanger
changeSliderValue(id, value) {
var data = this.state.mydata
var index = data.findIndex(myData => myData.id == id);
data[index].sliderValue = value;
this.setState(mydata : data)
// i waiting for refresh slider at this point, But doesn't.
// And i added below line
this.gridApi.refreshCells({force:false})
// and slider refreshed good,
// but changing 1 step on every refresh and losing mousedown event,
// because refreshCells causing losing mouse down event from slider,
// and slider stoping change itself
// I must press mouse button again and again for the slide left or right
}
без этого
this.gridApi.refreshCells({force:false})
значение массива меняется хорошо, но не обновляет ползунок,
с этим
this.gridApi.refreshCells({force:false})
значение массива меняет хороший ползунок обновления, но 1 шаг при каждом нажатии и перемещении мыши,
Что я могу сделать для правильного изменения значения ползунка без потери события mousedown