我有一些不同员工类型的下拉框 我需要在表单中添加/编辑它们 因此,每个下拉列表都有一个添加/编辑按钮 但我只创建了一个按钮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>
答案 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')}