что я хочу сделать, когда я нажимаю на один из элементов списка, я хочу, чтобы выбранный класс был применен, и когда я нажимаю снова, я хочу, чтобы он был удален, поэтому в основном функция переключения, но это случается со всеми 3 элементов списка, так что если я нажимаю на один, все выбран, но я хочу, так что только один может быть выбран в то времяпереключить цвет фона выбранного элемента списка response.js
import React from 'react';
export default class Order extends React.Component {
constructor() {
super()
this.state = {
selected: false,
};
}
toggleChoice() {
const selected = !this.state.selected;
this.setState({selected});
}
render() {
const { selected } = this.state;
const selectedCircle = selected ? " selected":"";
return (
<div class="container" id="order-layout">
<div class="row">
<div class="card-panel white">
<div class="center">
<h5>Your Order</h5>
<p class="margin-top-30 bold">Choose Pizza size in cm</p>
<ul class="margin-top-30">
<li ><div onClick={this.toggleChoice.bind(this)} class={"circle-20 hovered-circle" + selectedCircle}>20</div></li>
<li ><div onClick={this.toggleChoice.bind(this)} class={"circle-30 hovered-circle" + selectedCircle}>30</div></li>
<li ><div onClick={this.toggleChoice.bind(this)} class={"circle-40 hovered-circle" + selectedCircle}>40</div></li>
</ul>
</div>
</div>
</div>
</div>
);
}
}
объяснил довольно хорошо .. хорошо –
спасибо за ваш ответ, теперь я понимаю, однако все же с этим вы можете выбрать все 3 одновременно, и я хочу просто выбрать один вариант, а не другие – user3209048
@ user3209048 вам просто нужно очистить свое состояние в функции toggleChoice 'selected = {}'. См. Обновленную скрипту и вопрос. – Boky