Я заметил странное поведение в моем сообществе Lightning в компонентах, использующих <lightning:outputField/>. По сути, DOM не отображает никаких данных поля, хотя проверка области с помощью отладчика Chrome показывает, что тег отображается.

< EM> Environment

Я убедился, что мой производственный экземпляр не затронут (и запущен Summer '18). Я обновил тестовую программную среду разработчика 10 сентября 2018 г. и убедился, что она работает под управлением Winter '19. Эта песочница и все другие песочницы под управлением Winter '19 демонстрируют такое поведение.

Безопасность

Я использую <lightning:outputField/> в компоненте Lightning, который отображает поля из объекта Case в сообществе Lightning. Я столкнулся с похожей ошибкой, когда мои поля не отображались из-за определенных настроек FLS. Я решил эту проблему, обеспечив, чтобы профиль для пользователей моего сообщества имел доступ для чтения ко всем полям, которые я отображаю, используя тег outputField, что пользователь имеет доступ для чтения к отображаемой мной записи обращения, и все поля находятся на макете страницы для тип записи отображаемого обращения. На приведенном ниже снимке экрана показано, что DOM отображал в моей предыдущей ошибке, и что он делает сейчас (хотя я убедился, что у моего пользователя есть правильные разрешения для просмотра записи и полей).

enter image description here

3
alecln 11 Сен 2018 в 20:26
Если вы наблюдаете такое поведение во всех своих песочницах Winter '19, вы можете открыть обращение в службу поддержки Salesforce.
 – 
Jayant Das
12 Сен 2018 в 00:43
Да, я только что открыл случай поддержки. Я написал здесь, потому что мы всего лишь стандартный партнер, и я почти уверен, что они закроют мое дело, потому что это проблема разработчика или программы.
 – 
alecln
12 Сен 2018 в 00:51
Я видел проблемы после обновлений, и это вполне можно классифицировать как известную проблему. Я не вижу, чтобы об этом сообщалось об известных проблемах. , надеюсь, ваш попадет в список, если Salesforce вообще подтвердит такое поведение.
 – 
Jayant Das
12 Сен 2018 в 00:52
Если случай не поможет, попробуйте aura:if и отрендерите секцию, если Id записи не пустой. Существует проблема с полями ввода/вывода при использовании различных форм просмотра/редактирования, когда вы пытаетесь отобразить их, а идентификатор записи еще отсутствует, поэтому он отображает его пустым, но никогда не выполняет повторную визуализацию при изменении идентификатора.
 – 
Paul
12 Сен 2018 в 10:43
Спасибо за предложение @Paul - я попытался обернуть весь тег lightning:recordViewForm в aura:if, чтобы отображать только в том случае, если доступен recordId, но по-прежнему сталкиваюсь с той же ошибкой.
 – 
alecln
13 Сен 2018 в 00:22

1 ответ

Лучший ответ

После разговора со службой поддержки Salesforce проблема была связана не с самим тегом lightning:outputField, а с родительским тегом lightning:recordViewForm.

У меня было две проблемы в моей существующей реализации:

  1. атрибут «objectApiName» на молнии: записьViewForm был неправильно написан как «objectAPIName»

  2. Я предоставил недопустимое связанное выражение для этого атрибута {!objectAPIName}, хотя оно должно было быть {!v.objectAPIName}

Интересно отметить, что хотя эти две ошибки присутствовали, теги outputField работали, как и ожидалось, до Winter '19. Это только кажется, что в этом предстоящем выпуске атрибут objectApiName фактически используется в теге Lightning:recordViewForm.

0
alecln 14 Сен 2018 в 19:47