我有一个表单,上面有来自ant-design的多个DatePicker组件。在大多数情况下,它是有效的。
问题是它们都绑定到相同的onChange事件处理程序(为了简单起见,因为它们都呈现在一个循环中)。我可以很好地获取日期(事件处理程序的参数2),但我似乎不能确定5个日期选择器中的哪一个触发了更改。
这是一个问题,因为我在需要将日期与之关联的行上还有其他数据。我添加了一个name属性,但它没有传递给处理程序grrrr,所以它对我没有任何好处。
那么,有谁知道如何获取触发onChange事件的(antd)日期选择器的名称,或者知道某个日期选择器会将其名称传递给onChange事件,甚至将其自身传递给日期选择器,这样我就可以知道哪个日期选择器发生了更改?
发布于 2018-06-28 03:23:23
问题解决了。闭包来拯救你。是啊。
onDateChangeHandler = (id) =>{
var self = this;
return function(mmmt, ds){
self.setState({ [id]: ds })
}
}然后在设置日期选择器的循环中:
<DatePicker size='default' name={"date_" + i} onChange={this.onDateChangeHandler("date_" + i)} />这给了我想要的结果。
https://stackoverflow.com/questions/51069345
复制相似问题