问题描述
我想将props(值,列,...)传递给react-data-grid中的自定义编辑器。定制编辑器是@ material-ui的Slider。 API的各种必要方法已实现。但是我无法从react-data-grid获取道具。 谢谢!!
我的代码 //滑块gridrangevalue.js
import React,{ Component } from "react"
import ReactDOM from "react-dom"
import Slider from "@material-ui/core/Slider"
class GridRangeValues extends Component {
getInputNode() {
return ReactDOM.findDOMNode(this)
}
onChange = (event,new_value) => {
console.log(this.props.column.key)
this.setState({
value: new_value,})
}
getValue() {
//console.log(this.props.column.key)
let update = {}
update[this.props.column.key] = this.state.value
return update
}
render() {
return (
<Slider
step={25}
min={0}
max={100}
aria-labelledby="discrete-slider"
valueLabeldisplay="on"
marks={true}
value={this.state.value}
onChange={this.onChange}
getAriaValueText={this.display_value}
/>
)
}
}
export default GridRangeValues
// Grid.js
const measureTypeEditor = <DropDownEditor options={measureTypes} />
const SliderEditor = React.forwardRef((props,ref) => (
<GridRangeValues ref={ref} {...props} />
))
....
const columns = [
{
key: "measure",name: "Measure",editor: measureTypeEditor,resizable: true,editable: true,},{
key: "value",name: "Value",editable: false,editor: SliderEditor,]
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)