关于对象属性获取问题
在前端开发的过程中,学到一个新知识点,直接上代码:
Html:
<form onSubmit={this.handleSubmit}>
<select value={this.state.optionValue} onChange={this.handleSelect}>
<option value="xy">西柚</option>
<option value="pt">葡萄</option>
<option value="mg">芒果</option>
<option value="yz">椰子</option>
<option value="xc">香橙</option>
</select>
<input type="submit" />
</form>
JS:
handleSubmit(event) {
console.log('you choose:', this.handleOutput(this.state.optionValue));
event.preventDefault();
};
handleOutput(param) {
const arrOption = {
xy: '西柚',
pt: '葡萄',
mg: '芒果',
yz: '椰子',
xc: '香橙',
};
return arrOption.param
// log: Undefined
}
select调用handleSubmit方法吧value值传递过去,控制台打印出的是Undefined,eslin提示我param是未使用的。看了一下才发现,这里的arrOption.param找的是arrOption里的param属性,而其实这个对象里是没有这个属性的,所以才出现Undefined。它并没有管param的形参。
解决的方法也很简单,使用es6的方法:
// 将 return arrOption.param改为:
return arrOption[param]
这样控制台就能打印出内容了!