Partilhar via


Torne configurável a Web Part do SharePoint do lado do cliente

O painel de propriedades permite que os usuários finais configurem a Web Part com várias propriedades. O artigo Criar a primeira Web Part descreve como o painel de propriedades é definido na classe HelloWorldWebPart. As propriedades do painel de propriedades são definidas em propertyPaneSettings.

Um painel de propriedades contém três metadados: uma página, um cabeçalho opcional e pelo menos um grupo.

  • As páginas fornecem a flexibilidade de separar interações complexas e colocá-las em uma ou mais páginas. As páginas contêm um cabeçalho e grupos.
  • Cabeçalhos permitem que você defina o título do painel de propriedade.
  • Grupos permitem que você defina várias seções ou campos para o painel de propriedade pelos quais você deseja agrupar seus conjuntos de campo.

A figura a seguir mostra um exemplo de um painel de propriedades no SharePoint.

Exemplo de painel de propriedades

Configurar o painel de propriedades

O exemplo a seguir inicializa e configura o painel de propriedades na Web Part. Você substitui o método getPropertyPaneConfiguration() e retorna uma coleção de páginas do painel de propriedades.

protected getPropertyPaneConfiguration(): IPropertyPaneConfiguration {
  return {
    pages: [
      {
        header: {
          description: strings.PropertyPaneDescription
        },
        groups: [
          {
            groupName: strings.BasicGroupName,
            groupFields: [
              PropertyPaneTextField('description', {
                label: strings.DescriptionFieldLabel
              })
            ]
          }
        ]
      }
    ]
  };
}

Campos do painel de propriedades

Há suporte para os seguintes tipos de campos:

  • Botão
  • Caixa de seleção
  • Grupo de escolha
  • Lista suspensa
  • Régua horizontal
  • Rótulo
  • Link
  • Controle Deslizante
  • Caixa de texto
  • Caixa de texto de várias linhas
  • Alternância
  • Personalizado

Os tipos de campo estão disponíveis como módulos no @microsoft/sp-property-pane. Você precisa importar os objetos para um módulo antes de usá-los em suas Web Parts:

import {
  PropertyPaneTextField,
  PropertyPaneCheckbox,
  PropertyPaneLabel,
  PropertyPaneLink,
  PropertyPaneSlider,
  PropertyPaneToggle,
  PropertyPaneDropdown
} from '@microsoft/sp-property-pane';

Observação

Os objetos do painel de propriedades foram divididos em seu próprio módulo, @microsoft/sp-property-pane, na versão Estrutura do SharePoint v1.9. Antes disso, eles foram incluídos no módulo @microsoft/sp-webpart-base .

Cada método de tipo de campo é definido da seguinte maneira, tomando PropertyPaneTextField como exemplo:

PropertyPaneTextField('targetProperty',{
  //field properties are defined here
})

O targetProperty define o objeto associado para esse tipo de campo e também é definido na interface de propriedades na Web Part.

Para atribuir tipos a essas propriedades, defina uma interface na classe da Web Part que inclua um ou mais propriedades de destino.

export interface IHelloWorldWebPartProps {
  targetProperty: string
}

Isso está disponível em sua Web Part usando this.properties.targetProperty.

<p class="ms-font-l ms-fontColor-white">${escape(this.properties.targetProperty)}</p>

Quando as propriedades são definidas, você pode acessá-las na web part usando o this.properties.[property-name]. Para obter mais informações, consulte Compilar uma web part HelloWorld: método de renderização() de Web Part.

Lidar com alterações de campo

O painel de propriedades tem dois modos de interação:

  • Reativo
  • Não reativo

No modo reativo, em cada alteração em um controle de campo no painel de propriedades dispara o evento de alteração. O comportamento reativo atualiza automaticamente a Web Part com os novos valores. O modo reativo é o modo padrão para Web Parts.

Embora o modo reativo seja suficiente para muitos cenários, às vezes você precisará do comportamento não reativo. O não reativo não atualiza a Web Part automaticamente, a menos que o usuário confirme as alterações.

Para ativar o modo não reativo, adicione o seguinte código em sua Web Part:

protected get disableReactivePropertyChanges(): boolean {
  return true;
}

Controles de painel de propriedades personalizadas

A Estrutura do SharePoint contém um conjunto de controles padrão para o painel de propriedades. No entanto, às vezes, você precisa de funcionalidade adicional além dos controles básicos. A Estrutura do SharePoint permite criar controles personalizados para fornecer os recursos necessários. Para saber mais, leia o guia Criar controles personalizados para o painel de propriedades.

Confira também