BaseClientSideWebPart class
Esta clase abstracta implementa la funcionalidad base de un elemento web del lado cliente. Cada elemento web del lado cliente debe heredar de esta clase.
- Extends
-
BaseWebPart<TProperties>
Comentarios
Junto con las funciones básicas, esta clase proporciona algunas API que puede usar el elemento web. Estas API se dividen en dos categorías.
La primera categoría de API proporciona datos y funcionalidad. Por ejemplo, el contexto del elemento web (es decir, this.context). Esta API se debe usar para tener acceso a datos contextuales pertinentes para esta instancia del elemento web.
La segunda categoría de API proporciona una implementación base para el ciclo de vida del elemento web y se puede invalidar para una implementación actualizada. La API render() es la única API que un elemento web debe implementar o invalidar obligatoriamente. Todas las demás API de ciclo de vida tienen una implementación base y pueden invalidarse en función de las necesidades del elemento web. Consulte la documentación de cada API para tomar la decisión correcta.
Constructores
(constructor)() | Constructor de la clase BaseClientSideWebPart. |
Propiedades
can |
Esta propiedad indica si un elemento web puede abrir un elemento emergente en la representación inicial. |
context | Use el objeto de contexto para acceder a los servicios comunes y al estado asociados al componente. |
dom |
Esta propiedad es un puntero al elemento DOM raíz del elemento web. Se trata de un elemento DIV que contiene todo el subárbol DOM del elemento web. |
is |
Indica si el elemento web está representando en modo asincrónico. |
rendered |
Esta propiedad indica si el elemento web se representó a partir de los datos persistentes (estado serializado desde la última vez que se guardó el elemento web) o no. |
rendered |
Esta propiedad indica si el elemento web se ha representado una vez o no. Después de la primera representación, el valor de esta propiedad siempre es true hasta que se produce una representación completa del elemento web. |
width | Esta propiedad devuelve el ancho del contenedor para el elemento web. |
Métodos
clear |
Esta API se debe usar para borrar el mensaje de error del área de visualización del elemento web. |
on |
Esta API se invoca cuando se cambia el ancho del elemento dom del contenedor de elementos web, por ejemplo, cuando se cambia el tamaño de la ventana del explorador del explorador y cuando se activa o cierra el panel de propiedades. |
on |
Se llama a este método de evento cuando se cambia el modo de presentación de un elemento web. |
on |
Esta API se debe usar para actualizar el contenido del panel de propiedades. |
on |
Se llama a esta API cuando se inicializa o cambia un tema en la página o en la sección actual. |
render() | Se llama a esta API para representar el elemento web. No hay ninguna implementación base de esta API y es necesario que el elemento web invalide la API. |
render |
Los elementos web que realicen la representación asincrónica deberían llamar a esta API. Es necesario que dichos elementos web invaliden la API isRenderAsync y devuelvan true. Un ejemplo de ello son los elementos web que representan contenido en un IFrame. El elemento web inicia la representación de IFrame en la |
render |
Esta API se debe usar para representar un mensaje de error en el área de visualización del elemento web. También registra el mensaje de error mediante el registrador de seguimiento. |
Detalles del constructor
(constructor)()
Constructor de la clase BaseClientSideWebPart.
constructor();
Comentarios
Se recomienda encarecidamente que el elemento web use la onInit()
API para realizar cualquier inicialización específica del elemento web. La mayoría de las características del elemento web como this.context y this.properties
no están disponibles para usarse antes del onInit()
elemento del ciclo de vida de carga del elemento web.
Detalles de las propiedades
canOpenPopupOnRender
Esta propiedad indica si un elemento web puede abrir un elemento emergente en la representación inicial.
protected get canOpenPopupOnRender(): boolean;
Valor de propiedad
boolean
Comentarios
En algunos entornos, el host vuelve a representar los elementos web con frecuencia y, por tanto, la apertura de elementos emergentes durante la representación hará que los elementos emergentes se abran repetidamente, lo que supone una experiencia de usuario deficiente. Por ejemplo, las páginas clásicas de SharePoint realizan postbacks, lo que hace que la página se vuelva a representar en todos los clics del botón.
Si un elemento web necesita abrir un elemento emergente en la representación, debe usar esta API antes de abrir el elemento emergente. Si esta API devuelve false, el elemento web no debe abrir el elemento emergente en la representación inicial. Algunos elementos web que abren elementos emergentes durante la representación son el elemento web de inserción de documentos que abre el selector de archivos en la representación inicial, elemento web de vídeo incrustado que aparece en el panel de propiedades en la representación inicial.
context
Use el objeto de contexto para acceder a los servicios comunes y al estado asociados al componente.
readonly context: WebPartContext;
Valor de propiedad
Comentarios
Se espera que las clases secundarias invaliden este campo al volver a declararlo con un tipo especializado. Está pensado para ser una propiedad de solo lectura; el tipo no se puede declarar como de solo lectura en la clase base (porque se inicializa fuera del constructor), pero las clases secundarias deben volver a declararlo como readonly.
domElement
Esta propiedad es un puntero al elemento DOM raíz del elemento web. Se trata de un elemento DIV que contiene todo el subárbol DOM del elemento web.
protected get domElement(): HTMLElement;
Valor de propiedad
HTMLElement
isRenderAsync
Indica si el elemento web está representando en modo asincrónico.
/** @virtual */
protected get isRenderAsync(): boolean;
Valor de propiedad
boolean
Comentarios
Si el elemento web invalida este campo para que devuelva true, debe llamar a la API renderCompleted una vez finalizada la representación del elemento web.
El valor predeterminado es False.
renderedFromPersistedData
Esta propiedad indica si el elemento web se representó a partir de los datos persistentes (estado serializado desde la última vez que se guardó el elemento web) o no.
protected get renderedFromPersistedData(): boolean;
Valor de propiedad
boolean
Comentarios
Ejemplo: Cuando el elemento web se agrega por primera vez mediante el cuadro de herramientas, el valor es false.
renderedOnce
Esta propiedad indica si el elemento web se ha representado una vez o no. Después de la primera representación, el valor de esta propiedad siempre es true hasta que se produce una representación completa del elemento web.
protected get renderedOnce(): boolean;
Valor de propiedad
boolean
width
Esta propiedad devuelve el ancho del contenedor para el elemento web.
protected get width(): number;
Valor de propiedad
number
Comentarios
Los elementos web deben usar esta propiedad para realizar operaciones como cualquier estilo condicional de componentes en función del ancho inicial disponible para el elemento web.
Detalles del método
clearError()
Esta API se debe usar para borrar el mensaje de error del área de visualización del elemento web.
protected clearError(): void;
Devoluciones
void
onAfterResize(newWidth)
Esta API se invoca cuando se cambia el ancho del elemento dom del contenedor de elementos web, por ejemplo, cuando se cambia el tamaño de la ventana del explorador del explorador y cuando se activa o cierra el panel de propiedades.
/** @virtual */
protected onAfterResize(newWidth: number): void;
Parámetros
- newWidth
-
number
Ancho (en píxeles) del contenedor del elemento web después del evento de cambio de tamaño.
Devoluciones
void
Comentarios
Los elementos web deben usar este método para realizar operaciones como, por ejemplo, volver a representar componentes en función del nuevo ancho disponible para el elemento web.
onDisplayModeChanged(oldDisplayMode)
Se llama a este método de evento cuando se cambia el modo de presentación de un elemento web.
/** @virtual */
protected onDisplayModeChanged(oldDisplayMode: DisplayMode): void;
Parámetros
- oldDisplayMode
- DisplayMode
Modo de presentación anterior.
Devoluciones
void
Comentarios
La implementación predeterminada de esta API llama al método de representación del elemento web para volver a representar el elemento web con el nuevo modo de presentación. Si un desarrollador de elementos web no quiere que se produzca una nueva representación completa al cambiar el modo de presentación, puede invalidar esta API y realizar actualizaciones específicas en el DOM del elemento web para cambiar su modo de presentación.
Si el elemento web se inicializa o se vuelve a inicializar al cambiar a un modo de presentación diferente, no se llama a este método de ciclo de vida. Ejemplo: Página de sitio de SharePoint.
onDispose()
Esta API se debe usar para actualizar el contenido del panel de propiedades.
/** @virtual */
protected onDispose(): void;
Devoluciones
void
Comentarios
Se llama a esta API al final del ciclo de vida del elemento web en una página. Debe usarse para eliminar los recursos locales (es decir, elementos DOM) que el elemento web mantiene. Se espera una llamada a esta API en escenarios como la navegación por páginas, es decir, el host realiza la transición de una página a otra y elimina la página de la que sale.
onThemeChanged(theme)
Se llama a esta API cuando se inicializa o cambia un tema en la página o en la sección actual.
/** @virtual */
protected onThemeChanged(theme: IReadonlyTheme | undefined): void;
Parámetros
- theme
-
IReadonlyTheme | undefined
Nuevo tema para la página o sección
Devoluciones
void
Comentarios
Los desarrolladores no llamaron a render en el método invalidado. Puede dar lugar a un re-flujo no procesado del elemento web. Se llamará a render desde la clase base cuando sea necesario.
render()
Se llama a esta API para representar el elemento web. No hay ninguna implementación base de esta API y es necesario que el elemento web invalide la API.
protected abstract render(): void;
Devoluciones
void
renderCompleted(error, didUpdate)
Los elementos web que realicen la representación asincrónica deberían llamar a esta API. Es necesario que dichos elementos web invaliden la API isRenderAsync y devuelvan true. Un ejemplo de ello son los elementos web que representan contenido en un IFrame. El elemento web inicia la representación de IFrame en la render()
API, pero la representación real solo se completa una vez completada la carga de iframe.
protected renderCompleted(error?: Error, didUpdate?: boolean): void;
Parámetros
- error
-
Error
objeto de error que indica que la representación asincrónica se ha completado con un error
- didUpdate
-
boolean
se usa para invalidar el tiempo de rendimiento final con el tiempo de representación de sincronización
Devoluciones
void
renderError(error)
Esta API se debe usar para representar un mensaje de error en el área de visualización del elemento web. También registra el mensaje de error mediante el registrador de seguimiento.
protected renderError(error: Error): void;
Parámetros
- error
-
Error
Objeto de error que contiene el mensaje de error que se va a representar.
Devoluciones
void