sourcecode

Laravel Nova - 리소스의 인덱스 보기 다시 로드

copyscript 2022. 8. 1. 22:41
반응형

Laravel Nova - 리소스의 인덱스 보기 다시 로드

난 내 첫 노바 분야를 개발하고 있어.Axios 요청을 보내는 버튼이 포함된 인덱스 필드이며, 응답이 반환될 때 인덱스 뷰를 새로고침해야 합니다.

지금으로서는, 다음과 같습니다.

this.$router.go(this.$router.currentRoute);

문제는 전체 페이지를 새로 고친다는 것입니다(Cmd+R을 누를 때와 같은 하드 새로 고침).현재 루트(리소스의 인덱스 루트)를 새로고침하기만 하면 됩니다.

이것도 해봤어요.

            this.$router.push({
                name: 'index',
                params: {
                    resourceName: this.resourceName,
                },
            });

하지만 같은 루트를 밟았으니 아무 소용이 없어요.

좋은 생각 있어요?

고마워요, 다니엘

이런 걸 시도해 보세요.

let currentFilters = _.cloneDeep(this.$store.state[`${this.resourceName}`]['filters']);
await this.$store.commit(`${this.resourceName}/storeFilters`, {});
await this.$store.commit(`${this.resourceName}/storeFilters`, currentFilters);

이 코드는 현재 적용된 필터를 빈 개체에 재설정한 다음 이전 필터를 다시 요청하여 리소스 인덱스를 업데이트합니다.단, 이 메서드는 서버에 두 가지 요청을 합니다.

커스텀 팝업 컴포넌트를 구현하려고 할 때도 같은 문제가 발생하고 있습니다만, Nova vuex 스토어에 구현한 것이 이것뿐입니다.

구현 아이디어는 https://github.com/tanmuhittin/nova-reload-resources/blob/f27da9507a97696b7aca0e9bd7e5afd3001f0891/resources/js/components/Card.vue#L21에서 얻었습니다.

언급URL : https://stackoverflow.com/questions/52245320/laravel-nova-reload-index-view-of-a-resource

반응형