首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onChange和onSelect不适用于React钩子中的循环内选择

onChange和onSelect不适用于React钩子中的循环内选择
EN

Stack Overflow用户
提问于 2020-02-28 12:36:48
回答 2查看 168关注 0票数 0

我有一个场景,我需要在循环中有多个Select标记,但onselect事件对它们中的任何一个都不起作用,请找到以下代码。提前谢谢。

代码语言:javascript
复制
const ThirdStepMap = ({csvFields, profileFileds}) => { // last row, no border-bottom class to be added

const [selectData, setSelectData] = useState('');

console.log('selectData', selectData);
return(
    <div className="modal-body no-pad"> 
    <div className="ap-map-head">
        <div className="row">
            <div className="col p-0">CSV file field</div>
            <div className="col p-0">Airborne fields</div>
        </div>
    </div>
    <div className="ap-map-body">
        {
            csvFields.map(e => {
                return(
                    <div className="row border-bottom">
            <div className="col p-0">
                <div className="form-group static-text d-flex align-items-center">
                    <label for="staticEmail" className=" col-form-label">{e}</label>
                </div>
            </div>
            <div className="col p-0">
                <div className="form-group">
                    <select className="form-control" onChange={(e) => setSelectData(e.target.value)}>
                    {
                        profileFileds.map(r => <option key={r.fieldName} selected={e.toLowerCase().startsWith(r.fieldName.toLowerCase().substr(0,3)) ||  r.fieldName === 'select'} value={r.fieldName}>{r.displayName}</option>)
                    }
                    </select>
                </div>
            </div>
        </div>
                )
            })
        }

    </div>
  </div>
)

}

EN

回答 2

Stack Overflow用户

发布于 2020-02-28 12:56:31

这里的问题是您没有将函数调用与事件绑定。为此,您只需执行以下操作

代码语言:javascript
复制
<select className="form-control" onSelect={(e) => this.setSelectData.bind(this, e.target.value)}>
票数 1
EN

Stack Overflow用户

发布于 2020-02-28 14:14:16

你到底有什么问题?您的console.log()语句是否记录了正确的值?我相信您只是忘了在select元素上添加value={selectData}。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60445326

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档