通过按钮单击传递参数

时间:2016-01-11 13:19:18

标签: reactjs react-jsx

我有一些不同员工类型的下拉框 我需要在表单中添加/编辑它们 因此,每个下拉列表都有一个添加/编辑按钮 但我只创建了一个按钮componentElement。

我是否有办法检测/或将id传递给我的_addStaff函数,以便我知道按下该按钮的下拉框。喜欢:添加Driver

类型的员工

或者更好的是,如何创建一个带有id的按钮。您是否可以使用{addStaff}之类的内容传递{addStaff("driver")}中的参数。这样你就可以知道你正在点击添加/编辑驱动程序按钮。

_addStaff(t){
    console.log("Add a staff of type"+ t);
},


render: function() {

    const addStaff = (
        <div onClick={this._addStaff} style={{width:120}}>
            <Button bsStyle='primary' bsSize='small' block>Add/Edit</Button>
        </div>
    );



// *****    The following is repeated for each staff member type ( in this case its a driver)!!!!!!!!!!!!!!!!

<div className="row">
    <div className="col-sm-9" >
        {this._getDropdownComponent("driverInCharge", null,{label:"Driver",id:"driver" ,list:this.props.drivers, valueField:"mds_id", textField:'mds_name',emptyValue:null,onBlur:this._saveDriverInCharge,fullList:this.props.Staff})}
    </div>
    <div className="col-sm-2" style={buttStyle}>
        {addStaff}
    </div>
</div>

2 个答案:

答案 0 :(得分:1)

首先,要将参数传递给addStaff方法,您将执行以下操作: -

heroku pg:stats_reset

这会将yourParam传递给你的参数t。

现在,在当前状态下,你的addStaff没有参数化,所以理想情况下你会创建一个接受人员道具并将按钮绑定到onClick的小组件。

onClick={this._addStaff.bind(null, yourParam)}

我希望这是有道理的。请注意,我已经手动编写了此代码,可能存在语法错误。请将此视为伪代码。

答案 1 :(得分:0)

好像你可以。 我得到一个id为'Driver'的按钮对象

TypeCodec<Address> addressCodec = mappingManager.udtCodec(Address.class); OptionalCodec<Address> optionalAddressCodec = new OptionalCodec(addressCodec); codecRegistry.register(optionalAddressCodec);
其中const addStaff = (t) => (是您想要传递的参数。

t

对于您要添加的每个按钮,请按此调用。

{addStaff('Driver')}