Javascript onChange事件中未定义id
使用react,我试图获取单击组件的idJavascript onChange事件中未定义id,javascript,reactjs,datepicker,Javascript,Reactjs,Datepicker,使用react,我试图获取单击组件的id <DatePicker id={cellData.column} selected={DatePickerDate} onChange={this.onDateRangePickerChange} className='form-control' /> 如何获取已单击日期选择器的id?您可以尝试以下方法: onDateRangePickerChange: function(event){
<DatePicker
id={cellData.column}
selected={DatePickerDate}
onChange={this.onDateRangePickerChange}
className='form-control'
/>
如何获取已单击日期选择器的id?您可以尝试以下方法:
onDateRangePickerChange: function(event){
var id = event.target.id; // ID from the element
var localRowDataStack = _.cloneDeep(this.state.rowDataStack);
localRowDataStack[id] = picker.startDate.format(appConfig.getKey('dateFormat'));
this.setState({
rowDataStack: localRowDataStack,
isOmitReRender: false
});
},
您可以在这里看到更多的示例/响应:您还可以扩展OnDaterRangePickerChange以接受id,并将其如下所示:
<DatePicker
id={cellData.column}
selected={DatePickerDate}
onChange={(e, p) => this.onDateRangePickerChange(e, p, cellData.column)}
className='form-control'/>
this.onDateRangePickerChange(e,p,cellData.column)}
className='form-control'/>
您可以使用.bind
将id
设置为onDateRangePickerChange
的第一个参数,从而避免将id
添加为DatePicker
属性
onDateRangePickerChange: function (column, date) {
console.log(column, date);
},
<DatePicker
selected={ DatePickerDate }
onChange={ this.onDateRangePickerChange.bind(this, cellData.column) }
className="form-control"
/>;
OnDaterRangePickerChange:函数(列、日期){
console.log(列、日期);
},
;
非常感谢您的回复,我仍然得到了未定义的id,因为事件是一个瞬间日期。感谢您的回复,我如何使用es5做到这一点?@Alexander在es5中为您提供了此示例
onDateRangePickerChange: function (column, date) {
console.log(column, date);
},
<DatePicker
selected={ DatePickerDate }
onChange={ this.onDateRangePickerChange.bind(this, cellData.column) }
className="form-control"
/>;