Поделиться через


BaseClientSideWebPart class

Этот абстрактный класс реализует базовые функции для клиентской веб-части. Каждая клиентская веб-часть должна наследоваться от этого класса.

Extends

BaseWebPart<TProperties>

Комментарии

Наряду с базовыми функциональными возможностями этот класс предоставляет некоторые API, которые могут использоваться веб-частью. Эти API попадают в два катагория.

Первая категория API предоставляет данные и функциональные возможности. Например, контекст веб-части (т. е. this.context). Этот API следует использовать для доступа к контекстным данным, относящимся к данному экземпляру веб-части.

Вторая категория API предоставляет базовую реализацию для жизненного цикла веб-части и может быть переопределена для обновленной реализации. API render() — это единственный API, который является обязательным для реализации или переопределения веб-частью. Все остальные API жизненного цикла имеют базовую реализацию и могут быть переопределены в зависимости от потребностей веб-части. Чтобы принять правильное решение, обратитесь к документации по отдельным API.

Конструкторы

(constructor)()

Конструктор класса BaseClientSideWebPart.

Свойства

canOpenPopupOnRender

Это свойство указывает, может ли веб-часть открывать всплывающее окно при первоначальной отрисовки.

context

Используйте объект контекста для доступа к общим службам и состоянию, связанным с компонентом.

domElement

Это свойство указывает на корневой элемент DOM веб-части. Это элемент DIV, содержащий все поддерево DOM веб-части.

isRenderAsync

Указывает, отрисовывается ли веб-часть в асинхронном режиме.

renderedFromPersistedData

Это свойство указывает, отрисовывается ли веб-часть с использованием сохраненных данных (сериализованное состояние с момента последнего сохранения веб-части).

renderedOnce

Это свойство указывает, была ли веб-часть отображена один раз. После первой отрисовки значение этого свойства всегда будет true, пока не произойдет полная повторная отрисовка веб-части.

width

Это свойство возвращает ширину контейнера для веб-части.

Методы

clearError()

Используйте этот API для удаления сообщения об ошибке из области отображения веб-части.

onAfterResize(newWidth)

Этот API вызывается при изменении ширины элемента dom контейнера веб-части, например при изменении размера окна браузера и при переключение области свойств.

onDisplayModeChanged(oldDisplayMode)

Этот метод события вызывается при изменении режима отображения веб-части.

onDispose()

Этот API следует использовать для обновления содержимого PropertyPane.

onThemeChanged(theme)

Этот API вызывается при инициализации или изменении темы на странице или для текущего раздела.

render()

Этот API вызывается для отрисовки веб-части. Базовая реализация этого API отсутствует, и веб-часть должна переопределять его.

renderCompleted(error, didUpdate)

Этот API следует вызывать веб-частям, которые выполняют асинхронную отрисовку. Эти веб-части должны переопределять API isRenderAsync и возвращать значение true. Пример: веб-части, которые отрисовывают содержимое в окне IFrame. Веб-часть инициирует отрисовку IFrame в render() API, но фактическая отрисовка завершается только после завершения загрузки iframe.

renderError(error)

Этот 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