2. 입력폼 구현
모달창 안에 제목과 내용을 입력할 수 있는 입력 폼을 구현한다.
✅ "글쓰기" 버튼을 눌렀을 때 빈칸이 있다면 빈칸을 포커싱한다.
글쓰기 제출 내용
- 제목
<input
placeholder="제목"
ref={titleInputRef}
value={input}
onChange={(e) => {
setInput(e.target.value);
}}
></input>
- 내용
<textarea
ref={textareaInputRef}
value={textarea}
placeholder="글쓰기"
cols="70"
rows="15"
onChange={(e) => {
setTextarea(e.target.value);
}}
></textarea>
(1) 글쓰기 제목과 내용을 state 저장
let [input, setInput] = useState(""); // 제목
let [textarea, setTextarea] = useState(""); // 내용
(2) 제목과 내용이 빈칸일 때
const titleInputRef = useRef();
const textareaInputRef = useRef();
useRef로 특정 Dom 선택
<input
placeholder="제목"
ref={titleInputRef}
value={input}
onChange={(e) => {
setInput(e.target.value);
}}
></input>
{" "}
<textarea
ref={textareaInputRef}
value={textarea}
placeholder="글쓰기"
cols="70"
rows="15"
onChange={(e) => {
setTextarea(e.target.value);
}}
></textarea>
if문으로 내용이 빈칸일 때 포커스를 return한다.
const addContent = () => {
if (input == "") {
alert("입력해주세요");
return titleInputRef.current.focus();
}
if (textarea == "") {
alert("입력해주세요");
return textareaInputRef.current.focus();
}
+ 제목은 최대 10자 까지만 작성되어야 한다.
(1) input에 maxlength 넣기
<input
maxlength="10"
></input>
'프론트엔드로 가는 길 > 코딩기능구현스터디' 카테고리의 다른 글
1주차 과제 - 좋아요/즐겨찾기(4) (0) | 2023.01.29 |
---|---|
1주차 과제 - 게시물 작성(3) (0) | 2023.01.28 |
1주차 과제 - 모달창 구현(1) (0) | 2023.01.28 |
230120 구미남자 영한 2주차 과제 (0) | 2023.01.20 |
230110 영한 1주차 과제 (2) | 2023.01.11 |