在onChange事件中未定义id
id undefined in onChange event
使用react datepicker,我正在尝试获取点击的组件的id
<DatePicker
id={cellData.column}
selected={DatePickerDate}
onChange={this.onDateRangePickerChange}
className='form-control'
/>
在我的点击处理程序中,传递的事件是一个即时日期对象,因此event.currentTarget
是未定义的。
onDateRangePickerChange: function(event, picker){
var localRowDataStack = _.cloneDeep(this.state.rowDataStack);
localRowDataStack[event.currentTarget.id] = picker.startDate.format(appConfig.getKey('dateFormat'));
this.setState({
rowDataStack: localRowDataStack,
isOmitReRender: false
});
},
如何获取单击的日期选择器的id?
您可以使用.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"
/>;
您也可以扩展onDateRangePickerChange以接受id,并像这样将其传递到那里:
<DatePicker
id={cellData.column}
selected={DatePickerDate}
onChange={(e, p) => this.onDateRangePickerChange(e, p, cellData.column)}
className='form-control'/>
您可以尝试这样做:
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
});
},
你可以在这里看到更多的例子/响应:React.js:用一个onChange处理程序识别不同的输入
相关文章:
- 无法获取属性'Id'使用Knockout.js的未定义或空引用API
- Angular2-TypeError:无法读取属性'Id'(Typescript)中未定义的
- 快速会话 无法设置未定义的属性“id”
- JS在隐藏未定义的值后仅从数组中返回第一个id的值
- "无法读取属性'id'未定义的“;解析工厂中声明的数组时
- 在onChange事件中未定义id
- 未捕获的引用错误: 未定义导出 ID
- Angular JS TypeError:无法读取路由上未定义的属性“id”
- 获取 Firebase 推送对象的 ID 未定义
- 当我尝试获取span的父ID时,我得到了未定义的值
- jQuery 可放置元素 id 未定义
- 数据 ID 一直未定义返回
- 当 ID 从 PHP 变量传递时,JavaScript 中的未定义 ID
- DatePicker:无法设置属性'currentDay'当有多个数组id时,为未定义
- querySelector在尝试访问作为元素ID的数值时返回未定义的字符串
- jQuery中显示id未定义时出错
- 无法获取属性'id'的未定义引用或null引用
- FB ID返回为未定义
- getElementByClassName返回'未定义',但它对Id有效
- 未定义ID/No操作Jquery