728x90
반응형
질문 : React JSX : 선택에서 "선택됨"선택
<select>
메뉴의 React 컴포넌트에서 애플리케이션 상태를 반영하는 옵션에 selected
속성을 설정해야합니다.
render()
에서 optionState
는 상태 소유자에서 SortMenu 구성 요소로 전달됩니다. 옵션 값은 JSON에서 props
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>
이 문제를 해결하는 권장 방법이 있습니까?
답변
React는 이것을 훨씬 더 쉽게 만듭니다. 각 옵션에서 selected
를 정의하는 대신 select 태그 자체에 value={optionsState}
를 작성할 수 있습니다.
<select value={optionsState}>
<option value="A">Apple</option>
<option value="B">Banana</option>
<option value="C">Cranberry</option>
</select>
자세한 내용 은 React select 태그 doc를 참조하세요.
또한 React는 이러한 목적으로 부울을 자동으로 이해하므로 간단히 작성할 수 있습니다 (참고 : 권장하지 않음).
<option value={option.value} selected={optionsState == option.value}>{option.label}</option>
그리고 적절하게 '선택됨'을 출력합니다.
출처 : https://stackoverflow.com/questions/21733847/react-jsx-selecting-selected-on-selected-select-option
728x90
반응형
'프로그래밍 언어 > HTML,CSS,JS' 카테고리의 다른 글
Node.js에서 파일을 자동으로 다시로드하는 방법 (0) | 2021.11.05 |
---|---|
AngularJS의 ng-options에서 값 속성을 설정하는 방법 (0) | 2021.11.05 |
AngularJS가 select에 빈 옵션을 포함하는 이유 (0) | 2021.11.04 |
Javascript에서 문자열에 있는 문자의 발생 횟수 계산 (0) | 2021.11.04 |
JavaScript에서 문자열 앞 뒤 공백 제거하기 (0) | 2021.11.04 |