Отключить те же кнопки на основе идентификатора в реакции - PullRequest
0 голосов
/ 01 ноября 2018

На самом деле я новичок, чтобы реагировать. Что я здесь делаю, так это

У меня есть несколько кнопок, как,

<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 будет отключена,

но если реквизиты становятся ложными для другого 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}

Теперь, все же, что происходит, если один из них верен, тогда он отключит и других.

Итак, я не понимаю, почему это происходит? Кто-нибудь может мне помочь с этим?

1 Ответ

0 голосов
/ 01 ноября 2018

взять переменную (var current_disable) для хранения идентификатора кнопки отключения когда значение параметра true становится действительным для другой кнопки, отработайте первоначальный butoon с помощью переменной curent_disable и сохраните новый идентификатор этой кнопки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...