在React中,可以使用状态(state)来保存和更新数据,而不需要直接操作数组。您可以通过在组件的构造函数中初始化一个空数组作为状态,然后使用setState方法来更新数组。根据e.target.checked的值,您可以使用条件语句将数据添加到数组中或从数组中移除。

以下是一个示例代码:

import React, { Component } from 'react';

class ExampleComponent extends Component {
  constructor(props) {
    super(props);
    this.state = {
      dataArray: []
    };
  }

  handleCheckboxChange = (e) => {
    const { dataArray } = this.state;
    const { value, checked } = e.target;

    if (checked) {
      // 添加数据到数组
      this.setState({ dataArray: [...dataArray, value] });
    } else {
      // 从数组中移除数据
      this.setState({ dataArray: dataArray.filter(item => item !== value) });
    }
  }

  render() {
    return (
      <div>
        <label>
          <input type="checkbox" value="data1" onChange={this.handleCheckboxChange} />
          Data 1
        </label>
        <label>
          <input type="checkbox" value="data2" onChange={this.handleCheckboxChange} />
          Data 2
        </label>
        <label>
          <input type="checkbox" value="data3" onChange={this.handleCheckboxChange} />
          Data 3
        </label>
      </div>
    );
  }
}

export default ExampleComponent;

在上面的示例中,每个复选框都有一个onChange事件处理程序(handleCheckboxChange),该处理程序根据e.target.checked的值将数据添加到或从dataArray中移除。使用setState更新状态会触发组件的重新渲染,并在render方法中更新UI以反映最新的状态值

当etargetchecked为true则把该数据放到数组里数组数据不覆盖react

原文地址: https://www.cveoy.top/t/topic/iJPW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录