사용자가 드롭 다운에서 옵션 중 하나를 선택하면 선택한 옵션이 아래 패널에 표시되어야합니다. 선택 사항을 표시 할 때 특정 부분/단어를 텍스트 필드로 바꿔야합니다.ReactJS 인라인 편집
그런 다음 '텍스트텍스트 필드를 포함 할텍스트 필드에 대한 대기'를 표시해야합니다. 그래서 사용자는 ElementKey와 ExpectedText 값을 입력 할 수 있습니다.
내가 지금까지 시도한 것은 문자열 조작을 통해 태그가있는 위치를 찾아서 텍스트 필드로 대체하는 것입니다.
displayInputBox = (event, str) => {
let strArr = str.split(" ");
let newArr = [];
let newStr = "<div> </div>";
console.log(strArr);
for (var i = 0, tot = strArr.length; i < tot; i++) {
if (strArr[i].includes("<")) {
newArr.push(<FormControl type="text" placeholder={strArr[i]} />);
} else {
newArr.push(strArr[i]);
}
}
return (newArr);
}
이 기능은 작동하지만 배열을 인쇄 할 때 고유 한 ID를 제공해야합니다.
효율적인 솔루션이 아니라는 것을 알고 있습니다. 시도 할 수있는 다른 효율적인 방법이 있습니까?
나는 또한 Redux를 사용하고 있지만 개별 텍스트 필드 값에 대한 상태를 유지하기를 원하지 않습니다.
여기에 도움이 될 react-inline-edit 같은 라이브러리가 있습니까?
모든 의견을 환영합니다.
내가이 어쨌든 스타일하지만 미안 당신이 찾고있는 무엇인가, 생각
코드를 텍스트로 입력하십시오. –
ID 사용에 문제가 없습니다 !! 속성 키를 추가하고 for 루프의 증분 변수 i로 채우십시오. Key는 전체 응용 프로그램에 고유 한 ID가 필요하지 않으며 현재 증가 된 요소에서만 필요합니다. –
또한 키를 추가 할 항목이 없으면 div 요소 내부에서 배열을 분산시킬 수 있습니다. 새 단편 API를 사용할 수 있습니다. 많은 옵션이 있습니다. –