Как отправить данные флажка в reactjs

Не знаю, как толком объяснить, но попробую. У меня есть несколько флажков, которые показывают, в какой день недели будет открыт магазин. Итак, у меня есть данные api

Как отправить данные флажка в reactjs

, где day_of_week указывает, в какой день следует установить флажок. Бывший. глянь сюда

Как отправить данные флажка в reactjs

Мне нужно отправить правильный атрибут на сервер, то есть day_of_week, чтобы изменить статус флажка. Однако теперь можно установить только один из флажков. Это мой код

  {businessGroup.opening_hours ? businessGroup.opening_hours.map((open_hour, i) => (
              <div key = {i} className = "openHours d-flex">

                <DatePicker
                  placeholder = "Start Date"
                />
                <DatePicker
                  placeholder = "End Date"
                />

                <div className = "weekDays">
                  {
                    ['Mo1', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'].map((day, inx) => (
                      <div className = "weekChekbox" key = {inx}>
                        <div>{day}</div>
                        <Checkbox
                          checked = {open_hour.day_of_week === inx}
                          onChange = {() => this.setState({
                            businessGroup: {
                              ...businessGroup,
                              opening_hours: [
                                ...businessGroup.opening_hours.splice(0, i),
                                {
                                  ...businessGroup.opening_hours[0],
                                day_of_week: inx,
                                },
                                ...businessGroup.opening_hours.splice(1),
                              ],
                            },
                          })}
                        />
                      </div>
                    ))

                  }
                </div>
})

Не обращайте особого внимания на закрывающую скобку, сейчас это не важно, потому что я просто вырезал кусок кода из всего кода. Итак, как я должен правильно настроить onChange, чтобы правильно отправлять day_of_week и можно было бы установить любые флажки.

Спасибо)

для флажка вы получаете событие, из которого вы можете проверить e.target.checked, чтобы узнать, был ли флажок установлен или снят

warl0ck 27.11.2018 12:08

@ warl0ck, не могли бы вы показать, как правильно писать onChange?)

Feruza 27.11.2018 12:30
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
2
265
1

Ответы 1

Вам нужно будет проверить значение checked цели события в обратном вызове onChange.

в вашем коде:

<Checkbox
  checked = {open_hour.day_of_week === inx}
  onChange = {(e) => this.setState({checked: e.target.checked})}
/>

Отметьте это демонстрация jsfiddle

Другие вопросы по теме