Попытка найти сумму проверенных значений в таблице, используя ответ - PullRequest
0 голосов
/ 25 апреля 2020

Эта функция в настоящее время возвращает общий балл, но я пытаюсь получить только сумму проверенного значения (счет). Таким образом, каждый раз, когда пользователь устанавливает флажок, функция будет возвращать сумму баллов.

«Оценка» - это один из трех столбцов в таблице. Я использую флажки для выбора.

calculateTotal=(e)=> {
    const { input, checked, type} = e.target;
    let sumVal= 0;

    this.props.items.forEach((item, i)=> {
      if(checked === true){
        ( sumVal += item.score)
      }
    })

   this.setState(sumVal => sumVal)

    console.log(sumVal);
    document.getElementById("val").innerHTML = "Sum Value =" + sumVal;
  }

1 Ответ

0 голосов
/ 25 апреля 2020

Когда вы задаете функцию в this.setState, функция получает предыдущее состояние в качестве параметра. По сути, вы возвращаете то же состояние, и поэтому ничего не меняется.

calculateTotal=(e)=> {
    const { input, checked, type} = e.target;
    let sumVal= 0;

    this.props.items.forEach((item, i)=> {
      if(checked) sumVal += item.score
    })

   this.setState(prevState=>({...prevState, sumVal}));
   // this.setState({sumVal}) ; // also works

    console.log(sumVal);
    document.getElementById("val").innerHTML = "Sum Value =" + sumVal;
  }

Пожалуйста, дайте мне знать, если я что-то пропустил.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...