Javascript 如何获取复选框索引/行号?

Javascript 如何获取复选框索引/行号?,javascript,node.js,Javascript,Node.js,我在一个表上有复选框,如果选中该复选框,我希望将填充该表的数据中的值附加到数组中(下面代码中的tableData.element.link) 我已经有了单击复选框时调用的toggleRow方法,但是单击复选框时如何将匹配的tableData.element.link附加到数组中?即,如何获取已单击复选框行的索引,以便从tableData数组中获取正确的值 componentDidMount() { const _self = this; fetch(config.api.u

我在一个表上有复选框,如果选中该复选框,我希望将填充该表的数据中的值附加到数组中(下面代码中的tableData.element.link)

我已经有了单击复选框时调用的
toggleRow
方法,但是单击复选框时如何将匹配的
tableData.element.link
附加到数组中?即,如何获取已单击复选框行的索引,以便从tableData数组中获取正确的值

  componentDidMount() {
    const _self = this;

    fetch(config.api.urlFor('xxx'))
    .then((response) => response.json())
    .then((data) => {

      const tableContent = [];

      data.array.forEach(element => {
        tableContent.push({
          date: element.date,
          title: element.title,
          link: <Link to='' onClick={(e)=> {e.preventDefault(); this.getPreauthorizedLink(element.link)}}>Report</Link>
        });

      })

      this.tableData = tableContent;

      this.setState({reportJSON: tableContent || [], tableIsBusy: false})

    })
    .catch((err) => _self.setState({tableIsBusy: false }));
  }

  toggleRow(name, id) {
    const newSelected = Object.assign({}, this.state.selected);

    let awsFileKeys = [];

    if(newSelected[name]){
      delete newSelected[name]
    }else {
          newSelected[name] = !this.state.selected[name];
    }
    this.setState({
            selected: newSelected,
            selectAll: 2
        });


        awsFileKeys.push(this.tableData.element.link[id]);
        console.log(awsFileKeys);
    }
componentDidMount(){
const_self=这个;
fetch(config.api.urlFor('xxx'))
.then((response)=>response.json())
。然后((数据)=>{
const tableContent=[];
data.array.forEach(元素=>{
tableContent.push({
日期:element.date,
标题:element.title,
链接:{e.preventDefault();this.getPreauthorizedLink(element.link)}>报告
});
})
this.tableData=tableContent;
this.setState({reportJSON:tableContent | |[],tableIsBusy:false})
})
.catch((err)=>_self.setState({tableIsBusy:false}));
}
toggleRow(名称、id){
const newSelected=Object.assign({},this.state.selected);
设awsFileKeys=[];
if(newSelected[名称]){
删除newSelected[名称]
}否则{
newSelected[name]=!this.state.selected[name];
}
这是我的国家({
精选:新闻精选,
全选:2
});
awsFileKeys.push(this.tableData.element.link[id]);
console.log(awsFileKeys);
}

我实现这一点的方法实际上是在将AWS文件键分配给每个复选框后,查看复选框的值。然后,我从所选项目的数组中获取所有AWS文件密钥,并将它们放入一个新数组中:

  toggleSelectAll() {
    let newSelected = {};
    let newFileKeys = [];

    if (this.state.selectAll === 0) {
        this.state.reportJSON.forEach(x => {
            newSelected[x.linkRaw] = true;
        });
    }

    this.setState({
        selected: newSelected,
        selectAll: this.state.selectAll === 0 ? 1 : 0
    })

    for(let item in Object.keys(this.state.selected)){
      newFileKeys.push(this.state.selected[item]);
    }

    this.state.awsFileKeys = newFileKeys;

    }