“Пользовательская Pane Pane SPFX” Ответ

Пользовательская Pane Pane SPFX

import { IPropertyPaneField, IPropertyPaneCustomFieldProps, PropertyPaneFieldType } from '@microsoft/sp-webpart-base';
Purple Team

Пользовательская Pane Pane SPFX

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

Пользовательская Pane Pane SPFX

// this is a simple structure of the custom control
private customProp() : IPropertyPaneField<IPropertyPaneCustomFieldProps>{
  return {
    targetProperty : "myTargetProperty",
    type : PropertyPaneFieldType.Custom,
    properties: {
      key: "myCustomProp",
      onRender: (element:HTMLElement, context:any, changeCallback:(targetProperty:string, newValue:any)=>void)=>{
        // draw your control here by replacing the element's html. Add logics to change the property and use the callback
        let currentValue : number = this.properties["myTargetProperty"] || 0;
        element.innerHTML = "click me: " + currentValue;
        element.onclick = ()=>{
          let newValue : number = currentValue + 1;
          changeCallback("myTargetProperty", newValue);
        }                 
      }
    }
  }
}
Purple Team

Ответы похожие на “Пользовательская Pane Pane SPFX”

Вопросы похожие на “Пользовательская Pane Pane SPFX”

Больше похожих ответов на “Пользовательская Pane Pane SPFX” по TypeScript

Смотреть популярные ответы по языку

Смотреть другие языки программирования