Есть ли способ открыть новую вкладку на панели навигации для настраиваемого компонента молнии с именем записи в качестве метки вкладки? - PullRequest
0 голосов
/ 05 апреля 2019

Мне нужно открыть новую вкладку навигации на панели навигации в среде Lightning Experience в среде, не относящейся к консольному приложению. Табличка должна иметь имя записи, предварительно заполненное в качестве метки.

Пробный следующий подход: Создана настраиваемая вкладка для целевой молнии.component

In Source Component:

Ссылка на созданную страницу с типом в качестве стандартного__navItemPage.для атрибутов указано настраиваемое имя вкладки для целевого компонента.Использование службы навигации перенаправило элемент управления на новый URL.

В целевом компоненте: использование интерфейса isUrlAddressable для получения параметра страницы.

var pageReference = {тип: 'standard__navItemPage', атрибуты: {apiName:'Product_Overview',}, состояние: {c__productId: itemId, c__isfavourite: isfavourite, c__isSourceSearchResultCmp: false
}};
var navService = component.find ("navService");navService.generateUrl (pageReference) .then ($ A.getCallback (function (url) {console.log ('Using Navigate' + url); navService.navigate (pageReference);}), $ A.getCallback (function (error){console.log (error);}));

Проблема в том, что открывающаяся вкладка навигации не имеет таких деталей, как имя записи, и я не могу найти ни один API или методы одинаковыми.

Любое руководство здесь будет оценено.

1 Ответ

0 голосов
/ 12 июля 2019
var pageReference = {
    type: 'standard__navItemPage',
    attributes: { 
        apiName: 'Product_Overview', 
    },
    state: { 
        c__productId: itemId,
        c__isfavourite : isfavourite,
        c__isSourceSearchResultCmp : false
    }};
    var navService = component.find("navService");
    navService.generateUrl(pageReference).then($A.getCallback(function(url) { 
        console.log('Using Navigate'+url); 
        //---add this line which allows you to open url in new tab instead of navService 
        window.open('https:'+url,
                    '_blank' // <- This is what makes it open in a new window.
                   );
    }),$A.getCallback(function(error) {
    console.log(error); 
}));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...