удаление данных из таблицы реакций - PullRequest
0 голосов
/ 30 мая 2018

Я использую response-table.js для получения данных из формы, но я хочу иметь возможность удалить данные из таблицы.Кнопка работает, поэтому я знаю, что она прикреплена правильно, но не могу удалить ее.Вот код

    handleDelete = item => {
    var newArr = [];
    const newState = this.props.documentation;
    for (var key in newState) {
      if (newState.hasOwnProperty(key)) {
        let data = newState[key];
        data.id = key;
        newArr.push(newState[key]);
      }
      const sliceArr = newArr.slice();
      if (sliceArr.indexOf(item) > -1) {
        sliceArr.slice(sliceArr.indexOf(item), 1);
      }
      console.log('New Array', sliceArr);
      this.setState({ data: sliceArr });
    }
  };

Вместе с кнопкой, которую я прикрепляю к

Cell: row => (
          <div>
            <button onClick={() => this.handleDelete(row.id)}>Delete</button>
          </div>

1 Ответ

0 голосов
/ 30 мая 2018

Вы ищете сращивание, а не срез:

  const spliceArr = newArr.slice();
  if (spliceArr.indexOf(item) > -1) {
    spliceArr.splice(spliceArr.indexOf(item), 1);
  }
  console.log('New Array', spliceArr);
  this.setState({ data: spliceArr });

Пример:

const newArr = [1, 2, 3, 4]
// [1, 2, 3, 4] example
const spliceArr = newArr.slice()
// [1, 2, 3, 4] ok
spliceArr.slice(spliceArr.indexOf(3), 1)
spliceArr
// [1, 2, 3, 4] oops
spliceArr.splice(spliceArr.indexOf(3), 1)
spliceArr
// [1, 2, 4]    better

Если это не поможет, вы можете обновитьВаш вопрос с отображением (предположительно JSX) самой таблицы, как предложил @MichaelBenin.

...