<div className="form-group">
<label className="col-md-2 control-label">商品名称</label>
<div className="col-md-5">
<input type="text" className="form-control" placeholder="输入商品名称"
name="productName" value={this.state.name}
onChange={(e)=>{this.onChange(e)}}/>
</div>
</div>
onChange(e){
console.log(e.target.value);
//这里如果用e.target.getAttribute('value')也可以获取到值 }
e.target:
<i className="fa fa-close" index={index} onClick={(e) => this.onImageDelete(e)}>
</i>
//删除图片
onImageDelete(e){
let delIndex=e.target.getAttribute('index');
//这里如果用e.target.index获取的值是undefined,问题是:为什么这里不能用e.target.index获取呢?
console.log(delIndex);
}
e.target:
e.target
获取到的是一个DOM
元素。DOM
相关的操作分为两种:Attribute表示的是
<tag attr1 attr2>
中的attr1
、attr2
,需要通过getAttribute
来获取。而Property则是一些DOM特殊的属性值,可以直接
.XXX
来获取。常用的
Property
有:对应的
Attribute
有:这就解释了为什么
target.value
可以获取到而target.index
获取不到,因为value
是Property(只不过因为和Attribute
重名,所以容易产生误解),而index
不是,所以只能通过getAttribute
来获取。