У меня есть компонент освещения на настраиваемой вкладке, где я создаю новую запись или редактирую существующую запись. Я не могу обновить мою настраиваемую вкладку после сохранения новой записи, в настоящее время я вручную обновляю страницу, чтобы увидеть созданную запись. Я пробовал naviagtePageItem и refreshTab(), но пока ничего не получилось. Может ли кто-нибудь дать мне несколько советов?

1
user3920709 23 Июн 2019 в 19:26

1 ответ

Лучший ответ

Если у вас есть настраиваемая вкладка, я уверен, что вы сможете проверить, есть ли у вас идентификатор записи или нет, который будет определять режим, в котором будет работать компонент (режим «редактирования» или «создания»).

После отправки записи вам нужно будет запустить те же функции, что и при загрузке компонента, не так ли? Для этого не обязательно обновлять всю страницу.

Предположим, что ваш пользователь переходит на страницу, а запись еще не создана. Они продолжают это делать, и когда запись сохраняется в базе данных, она возвращает идентификатор записи (вы получите его в обратном вызове в вашем помощнике JS). С идентификатором записи вы сможете перезагрузить содержимое вкладки, используя идентификатор записи в качестве ссылки для загрузки данных, вместо того, чтобы отображать пустую форму пользователю (поэтому он перейдет в «режим редактирования» вместо «режим создания»).


На мгновение я подумал о событии «обновить вид». Но я считаю, что это было бы полезно, если бы вы были на стандартной странице или если компонент реализует обработчик указанного события. Вы бы назвали это событие следующим образом: $A.get('e.force:refreshView').fire();. И тогда ваш компонент реализует для него обработчик, например:

<aura:handler event="force:refreshView" action="{!c.doRefresh}" />

Где doRefresh — это метод в вашем JS-контроллере.

1
Renato Oliveira 23 Июн 2019 в 19:33
Это обновляет другие вкладки, такие как «Детали», «Действия», кроме моей настраиваемой вкладки.
 – 
user3920709
23 Июн 2019 в 19:44
Читайте весь пост, а не только фрагменты кода.
 – 
Renato Oliveira
23 Июн 2019 в 20:01
Исправлено, спасибо!!
 – 
user3920709
24 Июн 2019 в 13:26
Привет Ренато Оливейра, один быстрый вопрос, что, если у нас есть страница VisualForce под этой вкладкой, как мы можем добиться этого обновления! любые указатели?
 – 
Umesh Beti
25 Июн 2020 в 17:35