【发布时间】:2020-11-16 19:50:22
【问题描述】:
我正在尝试制作一行自定义复选框,但似乎无法触发选择更改:
我可以使用正确的默认选项对其进行渲染,但我无法触发选择的任何更改。我希望不使用 react 提供的本机下拉选择并想构建自己的。
const getVariances = async () => {
/// gets and sets list of variants ///
setProductVariances(variances)
}
const changeVariance = (e) => {
const { value } = e.target;
const newProduct = productVariances.find(o => o.id == value)
setSelected(newProduct.id)
setProduct(newProduct)
}
return (
<div className='product-variances'>
{productVariances.length ? productVariances.map(variance => (
<div key={variance.id} className="col-sm-3">
<div className="quiz_card_area">
<input className="quiz_checkbox variance-checkbox" onChange={(e) => changeVariance(e)} type='checkbox' defaultChecked={product.id === variance.id} value={variance.id} />
<div className="single_quiz_card">
<div className="quiz_card_content">
<div className="quiz_card_title">
<h3><i className="fa fa-check" aria-hidden="true"></i>{variance.name}</h3>
</div>
</div>
</div>
</div>
</div>
)) : null}
</div>
)
}
输入标签不允许使用“onClick”来处理操作。使用这些自定义复选框触发“changeVariances”功能的最佳方式是什么?
【问题讨论】:
标签: javascript reactjs ecmascript-6