2016-11-25 1 views
0

У меня есть объект вроде этого:ReactJS установить динамическое значение входного сигнала, основываясь на объекте

enter image description here

и объект так:

const subjectQuantities = { 
     9: 2, 
     11: 1, 
    }; 

где 9 и 11 подобны к объекту id из первого Object, что я хочу сделать, это установить значение поля ввода динамически, так что я сделал это:

{ Object.keys(subjects).map((item, i) => (
    <li className="travelcompany-input clearfix" key={i}> 
     <span className="input-label">{ subjects[item].name }</span> 
     <div className="input-group"> 
      { subjects[item].id in subjectQuantities ? 
      <input className="form-control form-travelcompany-input" type="text" value=*DYNAMIC VALUE* min="0" max="10" /> 
      : <p>TEST</p> 
      } 
     </div> 
    </li> 
))} 

Как установить значение этого поля ввода динамически на основе значения объекта subjectQuantities.

+0

Возможно, вы хотите использовать * defaultValue * prop в элементе ввода? – aabilio

ответ

1

Если я правильно понимаю ваш вопрос вам просто нужно сделать {subjectQuantities[item]}

Смотрите ваш пример ниже.

{ Object.keys(subjects).map((item, i) => (
    <li className="travelcompany-input clearfix" key={i}> 
     <span className="input-label">{ subjects[item].name }</span> 
     <div className="input-group"> 
      { subjects[item].id in subjectQuantities ? 
      <input className="form-control form-travelcompany-input" type="text" value={subjectQuantities[item]} min="0" max="10" /> 
      : <p>TEST</p> 
      } 
     </div> 
    </li> 
))} 
+0

Я сделал это вот так: value = {this.subjectQuentaties [item]} почему это без этого? – Sreinieren

+0

value = {subjectQuantities [subject [item] .id]} –

Смежные вопросы