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