【发布时间】:2021-09-17 04:48:01
【问题描述】:
我有一个对象数组。型号、发动机、变速箱。每个设施都有其名称和价格。
const ModelsTypes = [
{
name: "pro rs3",
price: 100000,
},
{
name: "uber rs2",
price: 50000,
},
{
name: "standard",
price: 10000,
},
{
name: "wk",
price: 5000,
},
]
const EngineTypes = [
{
name: "5.2l 532bhp",
price: 10000,
},
{
name: "4.2l 443bhp",
price: 9000,
},
{
name: "3.6 374bhp",
price: 5000,
},
{
name: "2.0 166bhp",
price: 1000,
},
]
const Gearbox = [
{
gearbox: "Manual",
price: 5000,
},
{
gearbox: "Automatic",
price: 10000,
},
]
用户可以选择任何配置。然后所有选定的选项都会显示在摘要中。如何为用户选择的每个属性添加价格。我需要另一个 useState 来总结价格吗?
这是返回数组中所有对象的代码部分。
{ModelsTypes.map(model =>
<div>
<label>{model.name}</label>
<input onClick={addCarModel} type="radio" name="Model" value={model.name} />
</div>
)}
{EngineTypes.map(engine =>
<div>
<label>{engine.name}</label>
<input onClick={addCarEngine} type="radio" name="Model" value={engine.name} />
</div>
)}
{Gearbox.map(gearbox =>
<div>
<label>{gearbox.gearbox}</label>
<input onClick={addCarGearbox} type="radio" name="Model" value={gearbox.gearbox} />
</div>
)}
组件使用的功能
const addCarModel = (e) => {
setCarModel(carModel => e.target.value);
}
const addCarEngine = (e) => {
setCarEngine(carEngine => e.target.value);
}
const addCarGearbox = (e) => {
setCarGearbox(carGearbox => e.target.value);
}
总结
<div className={styles.summaryinfo}>
<ul>
<li>Model: <span>{carModel}</span></li>
<li>Engine: <span>{carEngine}</span></li>
<li>Gearbox: <span>{carGearbox}</span></li>
<li>Price: <span>${totalPrice}</span></li>
</ul>
</div>
【问题讨论】:
标签: javascript arrays reactjs object