2015-10-16 148 views
1

我编辑其中包含的一些信息,一旦该项目被编辑,我需要通过post请求发送到数据库中的新的信息的项目。如何获取当前项目的ID?

我的工作被命名为dealer的对象,即经销商有一个id,看代码

if (this.props.dealerData) { 
    let dealerProps = this.props.dealerData.dealersData; 
    dealerInfo = dealerProps.map((dealer) => { 

    return (<div> 
      <Card> 

      <CardHeader title={dealer.NickName} 
         subtitle={dealer.DealerId} //DEALER ID HERE 
         avatar={dealer.DealerName}/> 

       <Button onClick={this._updateDealer} /> 

      </Card> 
     </div> 
    ); 
    }) 
} 

这是我送的分贝使用此功能

_updateDealer =() => { 
    UpdateDealerActions.updateDealer({ 
     DealerId : // HERE I NEED TO SEND THE DEALER ID, 
     DealerName : this.refs.DealerNameEdit.getValue(), 
     NickName : this.refs.NickNameEdit.getValue(), 
    }); 
    } 
数据

让我解释一下:你有这样的物品在这里呈现dealerInfo,有30个物品/经销商。该DealerId是不可编辑的,它只是你需要发送到数据库,以了解你正在编辑哪个经销商。

所以,在我的功能_updateDealer(),这是赶DealerId最好的方法是什么?

编辑

这是代码的我在哪里与refs

<Checkbox value="Active" ref="Active" defaultChecked={true}/> 
<TextField ref="DealerNameEdit" value={this.state.toEdit.DealerName} onChange={this._handleUpdateChange.bind(this, 'DealerName')} /> 
<TextField ref="CardIdEdit" value={this.state.toEdit.CardId} onChange={this._handleUpdateChange.bind(this, 'CardId')} /> 
<TextField ref="NickNameEdit" value={this.state.toEdit.NickName} onChange={this._handleUpdateChange.bind(this, 'NickName')} /> 
<TextField ref="LegalIdEdit" value={this.state.toEdit.LegalId} onChange={this._handleUpdateChange.bind(this, 'LegalId')} /> 
<TextField ref="TypeIdEdit" value={this.state.toEdit.TypeId} onChange={this._handleUpdateChange.bind(this, 'TypeId')} /> 
+0

@Tushar我把Reactjs标签了。由于 – NietzscheProgrammer

+0

不知道你是什么结构的其余部分看起来像,但我怀疑你可能会遇到与你的裁判问题,因为它看起来像你创建的编辑列表,但只有两个裁判,而不是到n裁判... – Jonathan

+0

@Jonathan是代码的另一部分。 – NietzscheProgrammer

回答

1

编辑你可以绑定ID到单击处理部分。

 <Button onClick={this._updateDealer.bind(this, dealer.DealerId)} /> 

,然后在处理

_updateDealer = (DealerId) => { 
    UpdateDealerActions.updateDealer({ 
    DealerId : DealerId, 
    DealerName : this.refs.DealerNameEdit.getValue(), 
    NickName : this.refs.NickNameEdit.getValue(), 
    }); 
} 

另一种解决方案应该是:

<TextField ref="DealerIdEdit" value={this.state.toEdit.DealerId} /> 

,并在_updateDealer()

DealerId : this.refs.DealerIdEdit.getValue() 
+0

与我得到的是这个集合中最后一个经销商的ID,而不是当前的。 – NietzscheProgrammer

+0

对不起,我有一个错误的绑定。 – Jonathan

+0

刚刚修好 – NietzscheProgrammer