728x90
반응형
실행 결과:
소스 코드:
<div class="card">
<div class="card-header bi bi-chat-dots"> <span th:text="${comments.size()}"></span> Comments </div>
<div th:each="comment, index : ${comments}" class="border border-secondary">
<ul class="list-group-flush">
<li class="list-group-item">
<div class="row">
<span class="col-1">이름</span>
<span class="col-1">작성시간</span>
<!-- 수정버튼 -->
<a class="col-1" role="button" data-bs-toggle="collapse" aria-expanded="false" th:attr="data-bs-target='.multi-collapse-'+${comment.id}">
<i class="bi bi-pencil-square"></i>수정
</a>
</div>
<!-- 조회 -->
<div th:classappend="'multi-collapse-'+${comment.id}" class="collapse multi-collapse show">
<input type="hidden" th:value="${comment.id}"/>
<span th:text="${comment.content}"></span>
</div>
<!-- 수정 -->
<div th:classappend="'multi-collapse-'+${comment.id}" class="collapse multi-collapse">
<form th:action="@{'/board2/'+${boardDto.id}+'/comment'}" method="post" th:object="${commentDto}">
<input type="hidden" th:value="${comment.id}" name="id"/>
<textarea class="form-control" th:text="${comment.content}" name="content"></textarea>
</form>
</div>
</li>
</ul>
</div>
<div>
Bootstrap5 의 Collapse 를 활용하였습니다
https://getbootstrap.com/docs/5.0/components/collapse/
코드 설명:
data-bs-target='.multi-collapse-'+${comment.id}
th:classappend="'multi-collapse-'+${comment.id}"
버튼 제어 대상이 한개 이상이기 때문에 id가 아닌 class로 설정하였습니다.
aria-expanded="false"
class="collapse show"
버튼에 aria-expanded="false" 속성을 적용하여
요소가 열려있는지 접혀있는지 여부를 버튼에서 설정하지 않고,
기본적으로 열려있어야 하는 요소에 직접 show 클래스를 지정하였습니다.
참고 사이트:
https://dev-coco.tistory.com/134?category=1032063
================
하지만, 동작이 매끄럽기는 하나 원하는 결과가 아니었기 때문에
위 기능을 사용하지 않고, 기존 방식대로 div를 보여주고 숨기는 기능으로 변경할 예정입니다.
그래도 이 과정에서 bootstrap multiCollapse 기능이 있다는 것을 알게 되었습니다.
나중에 충분히 사용할 수 있는 기능이라는 생각이 들고, 그때는 더 발전된 방식으로 활용할 수 있을 것이라고 생각합니다.
728x90
반응형
'Web 개발 > 게시판 만들기' 카테고리의 다른 글
[Spring Security] 로그인 기능 구현 (3) 로그인 기능 확장 (0) | 2022.08.26 |
---|---|
[Spring Security] 로그인 기능 구현 (1) Spring Security Authentication (0) | 2022.08.25 |
[Spring Boot/Thymeleaf] Thymeleaf layout 설정 (0) | 2022.08.16 |
[Spring Boot/JPA] 게시판을 통해 MVC, CRUD 연습하기 5 - 삭제 (0) | 2021.06.28 |
[Spring Boot/JPA] 게시판을 통해 MVC, CRUD 연습하기 4 - 수정 (0) | 2021.06.28 |