В компоненте React для меню <select>
мне нужно установить атрибут selected
в опции, которая отражает состояние приложения.
В render()
, optionState
передается от владельца состояния к компоненту SortMenu. Значения опций передаются как props
из JSON.
render: function() {
var options = [],
optionState = this.props.optionState;
this.props.options.forEach(function(option) {
var selected = (optionState === option.value) ? ' selected' : '';
options.push(
<option value={option.value}{selected}>{option.label}</option>
);
});
// pass {options} to the select menu jsx
Однако это вызывает синтаксическую ошибку при компиляции JSX.
Это избавляет от синтаксической ошибки, но, очевидно, не решает проблему:
var selected = (optionState === option.value) ? 'selected' : 'false';
<option value={option.value} selected={selected}>{option.label}</option>
Я также пробовал это:
var selected = (optionState === option.value) ? true : false;
<option value={option.value} {selected ? 'selected' : ''}>{option.label}</option>
Есть ли рекомендуемый способ решения этого вопроса?