【问题标题】:filter the areaName by specific id?按特定 ID 过滤 areaName?
【发布时间】:2020-02-10 09:29:49
【问题描述】:

我已经调用了一个 API 并在 UI 上绑定了数据,但我也通过 onClick 方法将 ID allArea._id 作为 addCoupon 函数的参数传递了。通过这个函数addCoupon()我得到了id,但我只想用这个特定的id过滤areaName


addCoupon (id) {
        console.log('id',id)
    }


{this.state.allArea.map((allArea, i) => (
 <TableRow key={i}>
  <TableCell >{allArea.areaName}</TableCell>
  <TableCell >{allArea.cityName}</TableCell>
  <TableCell ><IconButton aria-label="edit" 
    onClick={this.addCoupon.bind(this,allArea._id)} >
    <EditIcon />
    </IconButton><IconButton aria-label="delete">
    <DeleteIcon />
    </IconButton></TableCell>
 </TableRow>
   ))}

//Data Schema


0:{
created: "2020-02-10T07:18:10.152Z"
_id: "5e37cc3727f3a8228ca33442"
areaName: "aaaaa"
cityName: "Jodhpur"
cityId: "5e37cbbc27f3a8228ca33441"
}

【问题讨论】:

    标签: javascript reactjs arraylist


    【解决方案1】:

    有很多方法可以做到这一点选择最适合您的:

    //Filter the array data
    addCoupon (id) {
        return this.state.allArea.filter(area => return area._id === id })
    }
    
    // Or try to pass the all object not just (allArea._id) then get areaName.
    <IconButton aria-label="edit" onClick={this.addCoupon.bind(this,area)}  >
    
    addCoupon (area) {
        return area.areaName
    }
    
    

    顺便说一句,最好将参数名称更改为 (area not allArea) 以避免重复

    {this.state.allArea.map((area, i) => ())}
    

    【讨论】:

      猜你喜欢
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 1970-01-01
      • 2019-05-30
      • 2014-10-05
      相关资源
      最近更新 更多