-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[2주차 기본/심화/공유 과제] 회원 관리 페이지 #3
base: main
Are you sure you want to change the base?
Conversation
week2/hw2/stylesheet.css
Outdated
* { | ||
box-sizing: border-box; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이런 전체 css 설정 및 초기 브라우저에 적용되어있는 스타일을 초기화 시키기 위해서 reset.css 파일을 만들면 좋아요.
reset css라고 구글링해도 나오고, 저와 지유 과제에도 reset.css 파일이 있으니 참고해보면 좋을 것 같습니다!
week2/hw2/stylesheet.css
Outdated
|
||
body { | ||
margin: 0; | ||
background-color: rgb(220, 224, 207); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
색상과 관련해서 재사용성을 높이고 캡슐화 하기 좋은 방식을 사용하면 좋을 것 같아요. reset.css파일 혹은 global.css 파일을 만들어서
:root {
--background: #fff;
}
이처럼 정의해놓은 후 컬러를 사용할 때
body {
background-color: var(--background);
}
이렇게 사용할 수 있어요.
이러면 같은 색상을 넣을 때 좀 더 편리하고, 다른 사람이 코드를 읽을 때도 가독성이 높아지겠죠?
제 2주차 과제에도 활용해놓았으니 한번 보시면 좋을 것 같습니다!
week2/hw2/stylesheet.css
Outdated
text-align: center; | ||
font-size: 30px; | ||
font-weight: bold; | ||
color: rgb(89, 100, 27); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
앞서 컬러를 미리 선언해놓고 var()로 컬러를 지정하는 방식을 추천드리고, 추가로 보통 컬러는 대부분 hex코드를 많이 사용하기 때문에 rgb를 hex코드로 바꿔주면 더 좋을 것 같습니다!
week2/hw2/management.html
Outdated
<h2>새 멤버 추가</h2> | ||
<i id="closeModalBtn" class="fa-solid fa-xmark"></i> | ||
|
||
<form method="dialog"> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
여기도 검색 필터 부분에 남긴 리뷰와 마찬가지로 label, input들을 하나의 div로 묶어주면 레이아웃도 깔끔하고 좀 더 편하게 스타일링 할 수 있을 것 같아요!
week2/hw2/stylesheet.css
Outdated
.modal form input, | ||
.modal form select, | ||
.modal form button { | ||
display: block; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
각 요소들의 display를 block으로 수정하여 구현하는것도 가능하지만, 제가 html태그쪽에 달아드린 리뷰처럼 label, input들을 하나의 div로 묶은 뒤
display: flex;
flex-direction: column;
gap: 마음대로;
이런식으로 레이아웃을 잡아주면 더 좋을 것 같아요!
modal.close(); | ||
}); | ||
|
||
addDataBtn.addEventListener("click", () => { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
모달에 있는 입력폼을 form태그로 만들었기 때문에 click이벤트도 좋지만 submit 이벤트도 활용해보면 좋을 것 같아요. 이때 필요한 e.preventDefault() 도 같이 공부해보면 좋을 것 같습니다. 이번에 지유님이 공유과제로 잘 작성해놓으셨더라구요!
week2/hw2/memberSerch.js
Outdated
const row = document.createElement("tr"); | ||
|
||
row.innerHTML = ` | ||
<td><input type="checkbox" class="check"></td> | ||
<td>${newMember.name}</td> | ||
<td>${newMember.englishName}</td> | ||
<td>${newMember.github}</td> | ||
<td>${newMember.gender}</td> | ||
<td>${newMember.role}</td> | ||
<td>${newMember.firstWeekGroup}</td> | ||
<td>${newMember.secondWeekGroup}</td> | ||
`; | ||
|
||
tbody.appendChild(row); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
이 새로운 데이터를 테이블에 추가해주는 부분은 불필요해보입니다.
이미 새로 추가된 newMember를 getData.push()를 통해 배열에 추가해줬고, 이를 로컬스토리지에도 넣었으니, 이 데이터를 다시 화면에 렌더링만 시켜주면 되겠네요!
그럼 getData를 addTable()에 넣어 실행시켜주면 되겠죠?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
시험기간과 겹친데다 시험치는 과목도 많아서 이번 2주차 과제 하기 정말 힘들었을텐데 고생 많으셨습니다!! css파일에서 grid를 사용하는 부분에 꽤 많은 시간이 들었을 것 같고 색다른 방식으로 구현한 부분이 인상깊었습니다!
조금더 빨리 성장하기 위해서 코드를 작성하면서 주석으로 어떤 영역에 해당하는지, 혹은 지금은 아직 과제 단계니까 필기도 하면서 과제를 진행하면 훨씬 도움이 될 것 같아요! 저도 코드에 주석으로 필기하면서 많이 공부해서 도움이 되었습니다ㅎ
3주차 과제에 한번 적용해보셨으면 좋겠고, 저와 지유 코드리뷰 뿐만 아니라 다른 잘하는 웨비들의 코드를 보면서 함수를 분리하고, 이 순서를 따라가는 법을 공부해보면 큰 도움이 될 것 같습니다.
3주차 과제도 화이팅하시길 바랍니다!!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
채은님 2주차 과제 고생 많으셨습니다! 고민한 흔적도 많이 보이고, 꼼꼼히 잘 하신 것 같아요
리뷰 100개 달려고 왔는데 화랑님도 이미 열심히 달아놔주셨고 그렇게 달 것도 없네요~
3주차도 화이팅~!
과제하느라 너무너무 고생 많았습니다 :) 결과물을 만들어내기 위해 얼마나 노력했을지 너무 잘 알기에 코드를 보는 내내 |
✨ 구현 기능 명세
💡 기본 과제
데이터
헤더
필터
(기본과제에서는 7개 모두 input으로 구현해도 괜찮음)
표
선택삭제
,추가
버튼이 위치선택삭제
버튼 클릭 시, 체크된 항목들 삭제추가
버튼 클릭 시, 항목 추가 모달 등장모달
닫기
버튼추가
버튼 클릭 시, 모달 닫히면 데이터 추가🔥 심화 과제
필터
표
모달
공유과제
제목: dialog 태그로 모달창 구현하기!
링크 첨부 : https://wave-web.tistory.com/68
❗️ 내가 새로 알게 된 점
이 코드를 통해서 체크된 tr 요소의 id를 숫자형으로 추출하고 checkedTrs에 포함되지 않은 member.id 필터링해서 새로운 데이터로 테이블을 업데이트 할 수 있었습니다!
❓ 구현 과정에서의 어려웠던/고민했던 부분
🥲 소요 시간
6days
🖼️ 구현 결과물
과제구현영상
-.Chrome.2024-10-29.12-38-39.mp4