实际上我是新来的反应者。
我有几个按钮,
<div className="rowContent">
{(props.data.id === 0) ? null :
<span className="">
<button type="button" id={props.type + props.index} className="btn btn-outline-primary btn-sm standard-btn-50" onClick={(e) => { props.onRemoveRow(e, props.data.id, props.type, props.noc) }}
>-</button>
</span>}
{(props.data.id === 0) ?
<span>
<button type="button" id={props.type + props.index} className="btn btn-primary btn-sm standard-btn-50 margin-left-0" onClick={(e) => { props.onAddRow(e, props.data.id, props.type, props.data.level) }}
disabled={(props.limitExcedded) || (!props.data.technology) || (!props.data.type) || (!props.data.count)}
>+</button>
</span> : null}
</div>
因此,这里三个div的按钮相同。我是说它的循环渲染取决于类型。
所以,我在做什么,我想在某些情况下禁用此按钮。所以,我在这里通过一个道具。现在,发生的事情是,如果props变为true,则该特定的divs按钮被禁用,
但是,如果该道具在另一个div上变为假,那之前用于第一个div的上一个按钮也会启用。
this.state = {
technologies: [],
showLowError: false,
showHighError: false,
showMediumError: false
}
现在,这三个是不同行的变量。现在,在这里
{(props.data.id === 0) ? <button type="button" disabled={(props.limitExceddedLow) || (props.limitExceddedHigh) || (props.limitExceddedMedium) || (!props.data.technology) || (!props.data.type) || (!props.data.count)} className="btn btn-primary btn-block h-20" onClick={(e) => { props.onAddRow(e, props.data.id, props.type, props.data.level) }}>+</button> : null}
现在,仍然发生的是,如果其中任何一个为真,那么也会禁用其他人。
所以,我不明白为什么会这样?有人可以帮我吗?
答案 0 :(得分:0)
采用变量(var current_disable)来存储禁用按钮的ID 当另一个按钮的概率变为true时,通过使用curent_disable变量使该按钮变得容易,并存储该按钮的新ID