reactjs - React Component中的多选 - 如何使用所有选定值设置状态?
问题描述
我在将所有选定值添加到状态(挂钩)时遇到问题。这是我的代码示例:
<div className="row">
<div className="input-field col s12">
<select multiple onChange={props.handleSelectedMultiple} id="balcony">
<option value="" disabled>
Brak
</option>
<option value="Balkon">Balkon</option>
<option value="Taras">Taras</option>
<option value="Ogród">Ogród</option>
<option value="Loggia">Loggia</option>
<option value="Taras na dachu">Taras na dachu</option>
</select>
<label>Balkon</label>
</div>
</div>
和功能:
const handleSelectedMultiple = e => {
console.log(e.target.value);
};
问题是console.log 中的值来自FIRST SELECTED OPTION,所以当我在控制台中按Taras、Ogród、Loggia 的顺序选择时,我有(3)Taras。目标是添加以声明所有选定的值。
任何人?
解决方案
您需要计算所选选项。你可以做类似的事情
const handleSelectedMultiple = evt => {
const values = Array.from(evt.target.selectedOptions, option => option.value);
// Or this way
// const values = [...evt.target.selectedOptions].map(opt => opt.value)
console.log('values', values);
};
推荐阅读
- javascript - 在本地存储中创建日志存储时如何解决此状态错误?
- ios - Apple Developer or Enterprise with own iphones
- google-cloud-platform - 无法在服务帐户 GCP IAM 上添加角色
- java - 警告调用 servlet 类时非法反射访问
- django - Django-在带有注释的特定字段上使用不同
- android - 带有旋转矢量传感器的传感器融合
- java - spring boot 存储库:检查日期是否存在
- r - R闪亮中的knit2pdf:如何导出renderText
- r - 如何将变量名称分配给文件名?
- java - 加载缓存与请求缓存?