Compartilhar via


Navegação de página

Ao carregar um relatório do Power BI em um aplicativo, você pode usar as APIs de cliente do Power BI para navegar entre suas páginas de relatório. Por exemplo, você pode definir a página padrão ou alterar uma página dinamicamente. Isso permite que você crie sua própria navegação de página personalizada para corresponder à sua marca. Você também pode alterar páginas automaticamente com base em um conjunto de critérios para mostrar a um usuário determinados visuais e informações.

Cada página em um relatório é representada por um objeto Page. Para retornar todas as páginas em um relatório, chame o método getPages do relatório, que retorna as páginas como uma coleção de objetos Page. A coleção de páginas é retornada na mesma ordem que no relatório.

A classe relatório define o método da seguinte maneira:

getPages(): Promise<Page[]>

Por exemplo:

let pages = await report.getPages();

Como navegar entre páginas de relatório

Use os objetos Page e Report em seu aplicativo para navegar entre páginas de relatório, conforme mostrado pelos exemplos de código nas seções a seguir.

Definir a página ativa

Use o método setPage de um objeto Report para tornar uma página existente a página ativa de um relatório.

A classe relatório define o método da seguinte maneira:

setPage(pageName: string): Promise<void>

Por exemplo:

await report.setPage("page2");

Tornar a página atual ativa

Use o método setActive de um objeto Page para garantir que a página seja sempre válida para um determinado relatório. Para obter objetos Page, chame getPages em um objeto Report.

A classe Page define o método setActive da seguinte maneira:

setActive(): Promise<void>

Por exemplo:

await page.setActive();

Adicionar um manipulador de eventos

Ao monitorar a navegação da página de um usuário em um relatório, você precisa estar ciente de quando um usuário altera páginas. Para fazer isso, adicione um manipulador de eventos para o evento pageChanged. Por exemplo:

report.on('pageChanged', event => {
    const page = event.detail.newPage;
    console.log(page.name);
});

Para obter mais informações sobre eventos, consulte Como lidar com eventos.