Можем ли мы использовать стандартный макет страницы внутри страницы/компонента молнии?

Благодарность

0
SFDC_BigDog 19 Июл 2018 в 20:14
2
Каков ваш вариант использования? Вы ознакомились с lightning:recordForm, если это что-то помогает здесь.
 – 
Jayant Das
19 Июл 2018 в 20:25
Вот мой вариант использования: в зависимости от типа записи, выбранного для объекта, мне нужно перевести пользователя на пользовательскую страницу редактирования молнии и показать на странице различные макеты страниц в зависимости от выбора пользователя. Мой вопрос: можем ли мы встроить стандартный макет страницы в компонент/страницу молнии вместо того, чтобы разрабатывать страницу с полями, которые мы делаем с страницами vf?
 – 
SFDC_BigDog
19 Июл 2018 в 20:30
Итак, ваш вариант использования - создать запись?
 – 
Jayant Das
19 Июл 2018 в 20:35
Ага. Но в зависимости от выбранного типа записи мне нужно показать разные поля пользователю, который может вводить значения. Поэтому вместо тегов молнии, эквивалентных , я подумал, не можем ли мы создать макет страницы и встроить его в компонент молнии, чтобы я мог динамически встраивать их в зависимости от выбранного типа записи.
 – 
SFDC_BigDog
19 Июл 2018 в 20:40
Хорошо, я думаю, вам нужно force:createRecord здесь . Взгляните и посмотрите, если это то, что вы ищете.
 – 
Jayant Das
19 Июл 2018 в 21:04

1 ответ

Лучший ответ

Основываясь на ваших комментариях к требованиям (как показано ниже), вы хотите иметь возможность динамически отображать макет страницы для создания записи с использованием компонента Lightning.

  1. В зависимости от типа записи, выбранного для объекта, мне нужно направить пользователя на настраиваемую страницу редактирования Lightning и показать различные макеты страниц на странице в зависимости от выбора пользователя.
  2. В зависимости от выбранного типа записи мне нужно показать разные поля пользователю, который может вводить значения.

Вам необходимо использовать force:createRecord для этой цели. Вот что упоминается в документации для этого события:

Это событие открывает страницу для создания записи для указанного entityApiName, например, «Учетная запись» или «myNamespace__MyObject__c».

Чтобы отобразить страницу создания записи для объекта, задайте имя объекта в атрибуте entityApiName и запустите событие. RecordTypeId является необязательным и, если он указан, указывает тип записи для созданного объекта. defaultFieldValues ​​является необязательным и, если он указан, указывает значения, используемые для предварительного заполнения формы создания записи.

Теперь, когда вы хотите иметь возможность отображать макет страницы на основе типа записи, вам нужно будет использовать для этой цели атрибут события recordTypeId. Вам просто нужно передать идентификатор типа записи, который был выбран на предыдущей странице, и он отобразит макет страницы, связанный с этим типом записи.

Примечание. Хотя в документации явно не упоминается, что он открывает связанный макет страницы с типом записи, но как только вы укажете идентификатор типа записи, он позаботится об открытии правильного макета страницы на основе назначения (я проверил это как тест ).

Вот как должен выглядеть ваш код:

var createRecordEvent = $A.get("e.force:createRecord");
    createRecordEvent.setParams({
        "entityApiName": "Account",
        "recordTypeId": "recordtypeid"
    });
createRecordEvent.fire();
4
Jayant Das 19 Июл 2018 в 21:27