@someone99
научиться учиться

Нужно вывести кол-во выбранных чекбоксов в кнопку, как это сделать в данном случае?

function commonCollectOrderDesktop(collect_order: ViewModel.CollectOrder, state: State, index: number) {
  return (<tr key={index}>
    <td><input type="checkbox" className='check'/></td>
    <td>{collect_order.id}</td>
    <td>{getObjectByIdAndName(collect_order.warehouse_id, state.array_of_warehouse)}</td>
    <td>{getObjectByIdAndName(collect_order.legal_entity_id, state.array_of_legal_entity)}</td>
    <td>{collect_order.creation_date_time}</td>
    <td>{collect_order.count_of_product}</td>
  </tr>);
}

{state.array_of_collect_order.length > 0
      ? (<button onClick={(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => {
        event.preventDefault();
        console.log(state.array_of_collect_order)
        for (let i of state.array_of_collect_order) {
          console.log (i["id"])-это для тестов
        }
      }}>Собрать&nbsp;
        {state.array_of_collect_order.length}&nbsp;  -вместо длины  стейта массива здесь должно быть кол выбранных чекбоксов
        {defineTitle((state.array_of_collect_order.length), "заказ", "заказа", "заказов")}
      </button>)
      : null
    }
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
TNPTSYWWCC
@TNPTSYWWCC
And I Told Them I Invented Times New Roman
Тебе нужно повесить обработчик на событие change, завести какой-то стейт и менять его в этом обработчике инкрементируя/декрементируя его. На будущее: оформляй пример на codesandbox.io, так удобнее для тех, кто будет отвечать, что повысит шансы на ответ, ибо как видишь, подсветки JSX нет, да и код у тебя не самый опрятный.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы