BaseWebPart class
Esta clase abstracta implementa la funcionalidad base independiente de la interfaz de usuario para un elemento web del lado cliente. El propósito es permitir un núcleo común entre 2D y MR WebParts.
- Extends
Constructores
(constructor)() | Constructor de la |
Propiedades
accessible |
Esta propiedad apunta al título accesible del elemento web que se pone a disposición de los lectores de pantalla. La implementación base devuelve ese título predeterminado en el manifiesto. Los elementos web que quieran proporcionar un título más descriptivo con información contextual deberán invalidar esta API. virtual |
context | Use el objeto de contexto para acceder a los servicios comunes y al estado asociados al componente. |
data |
El valor de esta propiedad se almacena en los datos serializados del elemento web para permitir que los desarrolladores administren el control de versiones de su elemento web. La versión predeterminada es 1.0. |
description | Descripción del elemento web. |
disable |
Esta propiedad se usa para cambiar la interacción del panel de propiedades del elemento web de Reactivo a No reactivo. virtual |
display |
Esta propiedad es el modo de presentación actual del elemento web. |
preview |
Esta propiedad apunta a la imagen de vista previa del elemento web. La implementación base devuelve undefined. Los elementos web que quieran proporcionar una dirección URL válida de imagen de vista previa deberán invalidar esta API. La dirección URL de imagen de vista previa puede usarse para crear una vista previa del elemento web o de la página en la que está presente el elemento web. virtual |
properties | Esta propiedad es el puntero al contenedor de propiedades personalizadas del elemento web. |
properties |
Esta propiedad define los metadatos del contenedor de propiedades del elemento web. Los metadatos pueden ayudar a SharePoint a entender mejor el contenido de las propiedades y a realizar los servicios pertinentes en los datos. virtual |
title | Título del elemento web. |
Métodos
get |
Esta API se usa para obtener la configuración para crear el panel de propiedades del elemento web. Si el elemento web quiere usar el panel de propiedades para la configuración, es necesario invalidar esta API y el elemento web debe devolver la configuración del panel de propiedades. Esta API no se invoca hasta que se resuelve la promesa "loadPropertyPaneResources". Consulte IPropertyPane y otra documentación wiki de integración de PropertyPane para obtener más detalles. virtual |
get |
Devuelve la configuración de las acciones principales o no definidas de este elemento web si el elemento web no admite acciones principales. |
load |
Esta API permite la carga asincrónica de recursos relacionados con el panel de propiedades del elemento web. |
on |
Se llama a esta API después de que el elemento web se deserialice en un objeto, justo antes de que se llene el contenedor de propiedades. virtual |
on |
Esta API se invoca después de que los cambios realizados en el panel de propiedades se apliquen cuando este se usa en modo no reactivo. Esta API no se invoca cuando el panel de propiedades se usa en modo reactivo. virtual |
on |
Se llama a este método de evento antes de serializar el elemento web. virtual |
on |
Se llama a este método de evento cuando se cambia el modo de presentación de un elemento web. virtual |
on |
Esta API se debe usar para actualizar el contenido del panel de propiedades. virtual |
on |
Se llama a este método de evento cuando se inicializa el elemento web. virtual |
on |
Esta API se invoca cuando se completa la configuración en el panel de propiedades. virtual |
on |
Este método de evento se invoca cuando se inicia la configuración en propertypane. virtual |
on |
Esta API se invoca después de actualizar el nuevo valor de la propiedad en el contenedor de propiedades cuando el panel de propiedades se usa en modo reactivo. virtual |
on |
Esta API se invoca cuando se representa el panel de propiedades. virtual |
Detalles del constructor
(constructor)()
Constructor de la BaseWebPart
clase .
constructor();
Comentarios
Se recomienda que el elemento web use la API de OnInit para realizar cualquier inicialización específica del elemento web. La mayoría de las características de los elementos web, como this.context y this.properties, no están disponibles para su uso antes de la parte onInit del ciclo de vida de carga del elemento web.
Detalles de las propiedades
accessibleTitle
Esta propiedad apunta al título accesible del elemento web que se pone a disposición de los lectores de pantalla. La implementación base devuelve ese título predeterminado en el manifiesto. Los elementos web que quieran proporcionar un título más descriptivo con información contextual deberán invalidar esta API. virtual
protected get accessibleTitle(): string;
Valor de propiedad
string
context
Use el objeto de contexto para acceder a los servicios comunes y al estado asociados al componente.
readonly context: BaseWebPartContext;
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.
dataVersion
El valor de esta propiedad se almacena en los datos serializados del elemento web para permitir que los desarrolladores administren el control de versiones de su elemento web. La versión predeterminada es 1.0.
protected get dataVersion(): Version;
Valor de propiedad
description
Descripción del elemento web.
protected get description(): string;
Valor de propiedad
string
disableReactivePropertyChanges
Esta propiedad se usa para cambiar la interacción del panel de propiedades del elemento web de Reactivo a No reactivo. virtual
protected get disableReactivePropertyChanges(): boolean;
Valor de propiedad
boolean
Comentarios
El comportamiento predeterminado es Reactivo.
Reactivo implica que los cambios realizados en el panel de propiedades se transmiten al elemento web al instante y el usuario puede ver actualizaciones instantáneas. Esto ayuda al creador de la página a obtener información instantánea para decidir si debe guardar los nuevos cambios en la configuración o no.
NonReactive implica que los cambios de configuración se transmiten al elemento web solo después de hacer clic en el botón PropertyPane "Aplicar".
displayMode
Esta propiedad es el modo de presentación actual del elemento web.
get displayMode(): DisplayMode;
Valor de propiedad
previewImageUrl
Esta propiedad apunta a la imagen de vista previa del elemento web. La implementación base devuelve undefined. Los elementos web que quieran proporcionar una dirección URL válida de imagen de vista previa deberán invalidar esta API. La dirección URL de imagen de vista previa puede usarse para crear una vista previa del elemento web o de la página en la que está presente el elemento web. virtual
get previewImageUrl(): string | undefined;
Valor de propiedad
string | undefined
properties
Esta propiedad es el puntero al contenedor de propiedades personalizadas del elemento web.
protected get properties(): TProperties;
Valor de propiedad
TProperties
propertiesMetadata
Esta propiedad define los metadatos del contenedor de propiedades del elemento web. Los metadatos pueden ayudar a SharePoint a entender mejor el contenido de las propiedades y a realizar los servicios pertinentes en los datos. virtual
protected get propertiesMetadata(): IWebPartPropertiesMetadata | undefined;
Valor de propiedad
IWebPartPropertiesMetadata | undefined
Comentarios
Consulte IWebPartPropertiesMetadata para obtener más información sobre cómo definir metadatos.
title
Título del elemento web.
protected get title(): string;
Valor de propiedad
string
Detalles del método
getPropertyPaneConfiguration()
Esta API se usa para obtener la configuración para crear el panel de propiedades del elemento web. Si el elemento web quiere usar el panel de propiedades para la configuración, es necesario invalidar esta API y el elemento web debe devolver la configuración del panel de propiedades.
Esta API no se invoca hasta que se resuelve la promesa "loadPropertyPaneResources".
Consulte IPropertyPane y otra documentación wiki de integración de PropertyPane para obtener más detalles. virtual
protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration;
Devoluciones
getTopActionsConfiguration()
Devuelve la configuración de las acciones principales o no definidas de este elemento web si el elemento web no admite acciones principales.
getTopActionsConfiguration(): ITopActions | undefined;
Devoluciones
ITopActions | undefined
loadPropertyPaneResources()
Esta API permite la carga asincrónica de recursos relacionados con el panel de propiedades del elemento web.
/** @virtual */
protected loadPropertyPaneResources(): Promise<void>;
Devoluciones
Promise<void>
Comentarios
Si no lo invalida el elemento web, el elemento web base resuelve la promesa inmediatamente.
Se llama a este método antes de llamar a las API de panel de propiedades. No se pueden llamar a otras API del panel de propiedades hasta que se resuelva esta promesa. No se genera ningún otro evento relacionado con el panel de propiedades excepto "PropertyPaneConfigurationComplete".
Se puede generar el evento "PropertyPaneConfigurationComplete" para limpiar los recursos pendientes, incluida la promesa "loadPropertyPaneResources".
onAfterDeserialize(deserializedObject, dataVersion)
Se llama a esta API después de que el elemento web se deserialice en un objeto, justo antes de que se llene el contenedor de propiedades. virtual
protected onAfterDeserialize(deserializedObject: any, dataVersion: Version): TProperties;
Parámetros
- deserializedObject
-
any
Objeto deserializado de los datos almacenados. Tenga en cuenta que el esquema de este objeto no es necesariamente coherente con el contenedor de propiedades actual, ya que la serialización podría haberla llevado a cabo una versión anterior del elemento web.
- dataVersion
- Version
Versión de datos de los datos almacenados que se están deserializando. Puede usar este valor para determinar si los datos los ha serializado un elemento web más antiguo. Los elementos web pueden definir su versión de datos mediante la invalidación de la propiedad dataVersion.
Devoluciones
TProperties
Contenedor de propiedades del elemento web.
Comentarios
La implementación predeterminada es ninguna operación. Un desarrollador de elementos web puede invalidar esta API si el objeto deserializado no refleja por completo el estado inicial del contenedor de propiedades. Esto le ofrece al desarrollador la oportunidad de llenar el contenedor de propiedades justo después de que los datos se deserialicen un objeto.
Un escenario importante para el uso de la deserialización es la actualización. Un elemento web actualizado puede cargar los datos serializados por una versión anterior del elemento web que admite un esquema diferente del contenedor de propiedades, lo que hace que el objeto deserializado sea incoherente con el esquema actual del contenedor de propiedades. El desarrollador puede usar onAfterDeserialize
para comprobar dataVersion y corregir el contenedor de propiedades.
onAfterPropertyPaneChangesApplied()
Esta API se invoca después de que los cambios realizados en el panel de propiedades se apliquen cuando este se usa en modo no reactivo. Esta API no se invoca cuando el panel de propiedades se usa en modo reactivo. virtual
protected onAfterPropertyPaneChangesApplied(): void;
Devoluciones
void
onBeforeSerialize()
Se llama a este método de evento antes de serializar el elemento web. virtual
protected onBeforeSerialize(): void;
Devoluciones
void
Comentarios
La implementación predeterminada es ninguna operación. El proceso de serialización serializa el contenedor de propiedades del elemento web, es decir, this.properties. Esta API ofrece al elemento web la oportunidad de actualizar su contenedor de propiedades antes de que se produzca la serialización. Algunos elementos web pueden mantener su estado otros objetos o incluso en el DOM. Si un elemento web necesita conservar parte de ese estado, debe invalidar esta API y actualizar el contenedor de propiedades del elemento web al estado más reciente. Si un elemento web actualiza el contenedor de propiedades con valores de propiedad no válidos, se conservarán. Por lo tanto, eso debe evitarse. El contenedor de propiedades del elemento web siempre debe contener valores de propiedad válidos.
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.
onInit()
Se llama a este método de evento cuando se inicializa el elemento web. virtual
protected onInit(): Promise<void>;
Devoluciones
Promise<void>
Comentarios
Es necesario invalidar esta API para realizar operaciones de ejecución prolongada, por ejemplo, la obtención de datos de un servicio remoto antes de la representación inicial del elemento web. Durante la vida útil de este método, se muestra el indicador de carga. Se llama a esta API solo una vez durante el ciclo de vida de un elemento web.
onPropertyPaneConfigurationComplete()
Esta API se invoca cuando se completa la configuración en el panel de propiedades. virtual
protected onPropertyPaneConfigurationComplete(): void;
Devoluciones
void
Comentarios
Este método de evento se invoca en los casos siguientes:
Cuando el CONFIGURATION_COMPLETE_TIMEOUT((actualmente el valor es de 5 segundos) transcurre después del último cambio.
Cuando el usuario hace clic en el botón "X" (cerrar) antes de que transcurra el CONFIGURATION_COMPLETE_TIMEOUT.
Cuando el usuario hace clic en el botón "Aplicar" antes de que transcurra el CONFIGURATION_COMPLETE_TIMEOUT.
Cuando el usuario cambia los elementos web, el elemento web actual obtiene este evento.
onPropertyPaneConfigurationStart()
Este método de evento se invoca cuando se inicia la configuración en propertypane. virtual
protected onPropertyPaneConfigurationStart(): void;
Devoluciones
void
Comentarios
Este método de evento se invoca en los casos siguientes:
Cuando se abre el panel de propiedades.
Cuando el usuario cambia los elementos web, el nuevo elemento web obtiene este evento.
onPropertyPaneFieldChanged(propertyPath, oldValue, newValue)
Esta API se invoca después de actualizar el nuevo valor de la propiedad en el contenedor de propiedades cuando el panel de propiedades se usa en modo reactivo. virtual
protected onPropertyPaneFieldChanged(propertyPath: string, oldValue: any, newValue: any): void;
Parámetros
- propertyPath
-
string
Ruta de acceso JSON de la propiedad del contenedor de propiedades. En el caso del campo personalizado, si no se proporciona ninguna propiedad de destino, se asigna un valor personalizado, que tendrá el formato de __CustomField_<key provided when the custom field is created>
.
- oldValue
-
any
Valor anterior de la propiedad. Este valor podría ser indefinido o vacío en el caso del campo personalizado.
- newValue
-
any
Nuevo valor de la propiedad. Este valor podría ser indefinido o vacío en el caso del campo personalizado.
Devoluciones
void
onPropertyPaneRendered()
Esta API se invoca cuando se representa el panel de propiedades. virtual
protected onPropertyPaneRendered(): void;
Devoluciones
void