«Gjengivelse»-hendelser i Power BI-visualobjekter
For å få et visualobjekt sertifisert, må det inkludere gjengivelseshendelser. Disse hendelsene lar lyttere (primært eksportere til PDF og eksportere til PowerPoint) vite når visualobjektet gjengis og når det er klart for eksport.
Viktig
Visualobjekter som eksporterer data (for eksempel til en PowerPoint- eller PDF-fil ), må inneholde gjengivelseshendelser for å sikre at eksporten ikke begynner før gjengivelsen av visualobjektet er ferdig.
API-en for gjengivelseshendelser består av tre metoder som skal kalles under gjengivelse:
renderingStarted
: Power BI-visualobjektkoden kallerrenderingStarted
metoden for å angi at gjengivelsesprosessen har startet. Denne metoden bør alltid være den første linjen i oppdateringsmetoden, siden det er her gjengivelsesprosessen begynner.renderingFinished
: Når gjengivelsen er fullført, kallerrenderingFinished
visualobjektkoden for Power BI metoden for å varsle lytterne om at bildet av visualobjektet er klart for eksport. Denne metoden bør være den siste kodelinjen som kjøres når visualobjektet oppdateres. Det er vanligvis, men ikke alltid, den siste linjen i oppdateringsmetoden.renderingFailed
: Hvis det oppstår et problem under gjengivelsesprosessen, gjengis ikke Power BI-visualobjektet. Hvis du vil varsle lytterne om at gjengivelsesprosessen ikke er fullført, bør visualobjektkoden for Power BI kallerenderingFailed
metoden. Denne metoden gir også en valgfri streng for å angi en årsak til feilen.
Merk
Gjengivelseshendelser er et krav for sertifisering av visualobjekter. Uten dem blir ikke visualobjektet godkjent av partnersenteret for publisering. Hvis du vil ha mer informasjon, kan du se sertifiseringskrav.
Slik bruker du API-en for gjengivelseshendelser
Hvis du vil kalle opp gjengivelsesmetodene , må du først importere dem fra IVisualEventService.
Inkluder
visual.ts
linjen i filen:import IVisualEventService = powerbi.extensibility.IVisualEventService;
In the
IVisual
class include the line:private events: IVisualEventService;
constructor
I klassens metodeIVisual
this.events = options.host.eventService;
Nå kan du kalle metodene this.events.renderingStarted(options);
, this.events.renderingFinished(options);
og this.events.renderingFailed(options);
der det er aktuelt i oppdateringsmetoden .
Eksempel 1: Visualobjekt uten animasjoner
Her er et eksempel på et enkelt visualobjekt som bruker API-en for gjengivelseshendelser .
export class Visual implements IVisual {
...
private events: IVisualEventService;
...
constructor(options: VisualConstructorOptions) {
...
this.events = options.host.eventService;
...
}
public update(options: VisualUpdateOptions) {
this.events.renderingStarted(options);
...
this.events.renderingFinished(options);
}
Eksempel 2: Visualobjekt med animasjoner
Hvis visualobjektet har animasjoner eller asynkrone funksjoner for gjengivelse, renderingFinished
bør metoden kalles etter animasjonen eller i den asynkrone funksjonen, selv om det ikke er den siste linjen i oppdateringsmetoden.
export class Visual implements IVisual {
...
private events: IVisualEventService;
private element: HTMLElement;
...
constructor(options: VisualConstructorOptions) {
...
this.events = options.host.eventService;
this.element = options.element;
...
}
public update(options: VisualUpdateOptions) {
this.events.renderingStarted(options);
...
// Learn more at https://github.com/d3/d3-transition/blob/master/README.md#transition_end
d3.select(this.element).transition().duration(100).style("opacity","0").end().then(() => {
// renderingFinished called after transition end
this.events.renderingFinished(options);
});
}
Relatert innhold
Tilbakemeldinger
https://aka.ms/ContentUserFeedback.
Kommer snart: Gjennom 2024 faser vi ut GitHub Issues som tilbakemeldingsmekanisme for innhold, og erstatter det med et nytt system for tilbakemeldinger. Hvis du vil ha mer informasjon, kan du se:Send inn og vis tilbakemelding for