Del via


Formateringsudsnit på rulleliste

Rulleliste udsnit er et simpelt formateringsudsnit, der bruges til at repræsentere optælling objekttype fra capabilities.json fil. Der er to rullemenuudsnit – ItemDropdown og AutoDropdown.

Deres forskel er, at for AutoDropdown-udsnit skal du deklarere listen over optællingselementer under det relevante objekt i capabilities.json fil og for ItemDropdown-udsnittet i klassen formateringsindstillinger.

Eksempel: Rullelisteimplementering

I dette eksempel viser vi, hvordan du opretter et rullelisteudsnit ved hjælp af formateringsmodelhjælpeprogrammer. Følgende faner viser eksempler på ItemDropdown- og AutoDropdown udsnit.

Skærmbillede af en ItemDropdown.

Objektet Capabilities

Indsæt følgende JSON-fragment i filen capabilities.json.

{
  // ... same level as dataRoles and dataViewMappings
  "objects": {
    "labels": {
      "properties": {
        "option": {
          "type": {
            "enumeration": []
          }
        },
      }
    }
  }
}

Formateringsmodelklasse

Indsæt følgende kodefragment i indstillingsfilen.

import powerbi from "powerbi-visuals-api";
import { formattingSettings } from "powerbi-visuals-utils-formattingmodel";

const positionOptions : powerbi.IEnumMember[] = [
    {value : "top", displayName : "Top"}, 
    {value : "bottom", displayName : "Bottom"},
    {value : "left", displayName : "Left"}, 
    {value : "right", displayName : "Right"}
];

class LabelsCardSetting extends formattingSettings.SimpleCard {
    name: string = "labels"; // same as capabilities object name
    displayName: string = "Labels";

    public option: formattingSettings.ItemDropdown = new formattingSettings.ItemDropdown({
        name: "option", // same as capabilities property name
        displayName: "Option",
        items: positionOptions,
        value: positionOptions[0] 
    });

    public slices: formattingSettings.Slice[] = [ this.option ];
}

export class VisualSettings extends formattingSettings.Model {
    public labels: LabelsCardSetting = new LabelsCardSetting();
    public cards: formattingSettings.SimpleCard[] = [this.labels];
}