BaseClientSideWebPart class
Этот абстрактный класс реализует базовые функции для клиентской веб-части. Каждая клиентская веб-часть должна наследоваться от этого класса.
- Extends
-
BaseWebPart<TProperties>
Комментарии
Наряду с базовыми функциональными возможностями этот класс предоставляет некоторые API, которые могут использоваться веб-частью. Эти API попадают в два катагория.
Первая категория API предоставляет данные и функциональные возможности. Например, контекст веб-части (т. е. this.context). Этот API следует использовать для доступа к контекстным данным, относящимся к данному экземпляру веб-части.
Вторая категория API предоставляет базовую реализацию для жизненного цикла веб-части и может быть переопределена для обновленной реализации. API render() — это единственный API, который является обязательным для реализации или переопределения веб-частью. Все остальные API жизненного цикла имеют базовую реализацию и могут быть переопределены в зависимости от потребностей веб-части. Чтобы принять правильное решение, обратитесь к документации по отдельным API.
Конструкторы
(constructor)() | Конструктор класса BaseClientSideWebPart. |
Свойства
can |
Это свойство указывает, может ли веб-часть открывать всплывающее окно при первоначальной отрисовки. |
context | Используйте объект контекста для доступа к общим службам и состоянию, связанным с компонентом. |
dom |
Это свойство указывает на корневой элемент DOM веб-части. Это элемент DIV, содержащий все поддерево DOM веб-части. |
is |
Указывает, отрисовывается ли веб-часть в асинхронном режиме. |
rendered |
Это свойство указывает, отрисовывается ли веб-часть с использованием сохраненных данных (сериализованное состояние с момента последнего сохранения веб-части). |
rendered |
Это свойство указывает, была ли веб-часть отображена один раз. После первой отрисовки значение этого свойства всегда будет true, пока не произойдет полная повторная отрисовка веб-части. |
width | Это свойство возвращает ширину контейнера для веб-части. |
Методы
clear |
Используйте этот API для удаления сообщения об ошибке из области отображения веб-части. |
on |
Этот API вызывается при изменении ширины элемента dom контейнера веб-части, например при изменении размера окна браузера и при переключение области свойств. |
on |
Этот метод события вызывается при изменении режима отображения веб-части. |
on |
Этот API следует использовать для обновления содержимого PropertyPane. |
on |
Этот API вызывается при инициализации или изменении темы на странице или для текущего раздела. |
render() | Этот API вызывается для отрисовки веб-части. Базовая реализация этого API отсутствует, и веб-часть должна переопределять его. |
render |
Этот API следует вызывать веб-частям, которые выполняют асинхронную отрисовку. Эти веб-части должны переопределять API isRenderAsync и возвращать значение true. Пример: веб-части, которые отрисовывают содержимое в окне IFrame. Веб-часть инициирует отрисовку IFrame в |
render |
Этот API следует использовать для отображения сообщения об ошибке в области просмотра веб-части. Он также отвечает за запись сообщения об ошибке с помощью средства ведения журнала трассировки. |
Сведения о конструкторе
(constructor)()
Конструктор класса BaseClientSideWebPart.
constructor();
Комментарии
Настоятельно рекомендуется использовать onInit()
API веб-части для инициализации любой веб-части. Большинство функций веб-части, таких как this.context и this.properties
, недоступны для использования до onInit()
части жизненного цикла загрузки веб-части.
Сведения о свойстве
canOpenPopupOnRender
Это свойство указывает, может ли веб-часть открывать всплывающее окно при первоначальной отрисовки.
protected get canOpenPopupOnRender(): boolean;
Значение свойства
boolean
Комментарии
В некоторых средах узел часто повторно отрисовывает веб-части, поэтому открытие всплывающих окон во время отрисовки приведет к повторному открытию всплывающих окон, что является плохим взаимодействием с пользователем. Например, классические страницы SharePoint выполняют обратную передачу, что приводит к повторной отрисовке страницы при всех нажатиях кнопки.
Если веб-части необходимо открыть всплывающее окно при отрисовке, она должна использовать этот API перед открытием всплывающего окна. Если этот API возвращает значение false, веб-часть не должна открывать всплывающее окно при первоначальной отрисовке. Некоторые веб-части, открывающие всплывающие окна во время отрисовки, представляют собой веб-часть внедрения документа, которая отображает средство выбора файлов при первоначальной отрисовке, внедренную веб-часть видео, которая отображает PropertyPane при первоначальной отрисовке.
context
Используйте объект контекста для доступа к общим службам и состоянию, связанным с компонентом.
readonly context: WebPartContext;
Значение свойства
Комментарии
Ожидается, что дочерние классы переопределяют это поле, повторно объявив его специализированным типом. Он должен быть свойством только для чтения; Тип не может быть объявлен как доступный только для чтения в базовом классе (так как он инициализирован за пределами конструктора), но дочерние классы должны повторно объявить его как только для чтения.
domElement
Это свойство указывает на корневой элемент DOM веб-части. Это элемент DIV, содержащий все поддерево DOM веб-части.
protected get domElement(): HTMLElement;
Значение свойства
HTMLElement
isRenderAsync
Указывает, отрисовывается ли веб-часть в асинхронном режиме.
/** @virtual */
protected get isRenderAsync(): boolean;
Значение свойства
boolean
Комментарии
Если веб-часть переопределяет это поле, чтобы возвращалось значение true, она должна вызывать API renderCompleted, когда ее отрисовка завершится.
Значение по умолчанию false.
renderedFromPersistedData
Это свойство указывает, отрисовывается ли веб-часть с использованием сохраненных данных (сериализованное состояние с момента последнего сохранения веб-части).
protected get renderedFromPersistedData(): boolean;
Значение свойства
boolean
Комментарии
Пример: когда веб-часть добавляется впервые с помощью панели элементов, используется значение false.
renderedOnce
Это свойство указывает, была ли веб-часть отображена один раз. После первой отрисовки значение этого свойства всегда будет true, пока не произойдет полная повторная отрисовка веб-части.
protected get renderedOnce(): boolean;
Значение свойства
boolean
width
Это свойство возвращает ширину контейнера для веб-части.
protected get width(): number;
Значение свойства
number
Комментарии
Веб-части должны использовать это свойство для выполнения таких операций, как любой условный стили компонентов на основе начальной доступной ширины веб-части.
Сведения о методе
clearError()
Используйте этот API для удаления сообщения об ошибке из области отображения веб-части.
protected clearError(): void;
Возвращаемое значение
void
onAfterResize(newWidth)
Этот API вызывается при изменении ширины элемента dom контейнера веб-части, например при изменении размера окна браузера и при переключение области свойств.
/** @virtual */
protected onAfterResize(newWidth: number): void;
Параметры
- newWidth
-
number
Ширина (в пикселях) контейнера для веб-части после события изменения размера.
Возвращаемое значение
void
Комментарии
Веб-части должны использовать этот метод для выполнения таких операций, как потенциально повторная отрисовка компонентов на основе новой доступной ширины веб-части.
onDisplayModeChanged(oldDisplayMode)
Этот метод события вызывается при изменении режима отображения веб-части.
/** @virtual */
protected onDisplayModeChanged(oldDisplayMode: DisplayMode): void;
Параметры
- oldDisplayMode
- DisplayMode
Старый режим отображения.
Возвращаемое значение
void
Комментарии
Версия этого API по умолчанию вызывает метод render, чтобы обновить веб-часть. Если разработчик веб-части не хочет, чтобы после изменения режима отображения происходило полное обновление, он может переопределить этот API и выполнить обновления модели DOM веб-части, чтобы изменить режим отображения.
Если веб-часть инициализируется или повторно инициализирована при переключении в другой режим отображения, этот метод жизненного цикла не вызывается. Пример: страница сайта SharePoint.
onDispose()
Этот API следует использовать для обновления содержимого PropertyPane.
/** @virtual */
protected onDispose(): void;
Возвращаемое значение
void
Комментарии
Этот API вызывается в конце жизненного цикла веб-части на странице. Он должен использоваться для удаления любых локальных ресурсов (т. е. элементов DOM), которые веб-часть удерживает. Ожидается, что этот API будет вызываться в таких сценариях, как навигация по страницам, т. е. узел переходит с одной страницы на другую и удаляет перемещаемую страницу.
onThemeChanged(theme)
Этот API вызывается при инициализации или изменении темы на странице или для текущего раздела.
/** @virtual */
protected onThemeChanged(theme: IReadonlyTheme | undefined): void;
Параметры
- theme
-
IReadonlyTheme | undefined
Новая тема для страницы или раздела
Возвращаемое значение
void
Комментарии
Разработчики не вызывают отрисовку в переопределенном методе. Это может привести к непредсказуемой повторной отправке веб-части. При необходимости отрисовка будет вызываться из базового класса.
render()
Этот API вызывается для отрисовки веб-части. Базовая реализация этого API отсутствует, и веб-часть должна переопределять его.
protected abstract render(): void;
Возвращаемое значение
void
renderCompleted(error, didUpdate)
Этот API следует вызывать веб-частям, которые выполняют асинхронную отрисовку. Эти веб-части должны переопределять API isRenderAsync и возвращать значение true. Пример: веб-части, которые отрисовывают содержимое в окне IFrame. Веб-часть инициирует отрисовку IFrame в render()
API, но фактическая отрисовка завершается только после завершения загрузки iframe.
protected renderCompleted(error?: Error, didUpdate?: boolean): void;
Параметры
- error
-
Error
объект error, указывающий на то, что асинхронная отрисовка завершена ошибкой
- didUpdate
-
boolean
используется для переопределения времени окончания производительности с помощью времени отрисовки синхронизации
Возвращаемое значение
void
renderError(error)
Этот API следует использовать для отображения сообщения об ошибке в области просмотра веб-части. Он также отвечает за запись сообщения об ошибке с помощью средства ведения журнала трассировки.
protected renderError(error: Error): void;
Параметры
- error
-
Error
Объект ошибки, содержащий сообщение об ошибке для отображения.
Возвращаемое значение
void