Compartilhar via


Navegação na página

Ao carregar um relatório do Power BI em um aplicativo, você pode usar as APIs do 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 critério definido 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 do getPages relatório, que retorna as páginas como uma coleção de Page objetos. A coleção de páginas é retornada na mesma ordem que no relatório.

A classe Report define o método da getPages 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 setPage método de um Report objeto para tornar uma página existente a página ativa de um relatório.

A classe Report define o método da setPage seguinte maneira:

setPage(pageName: string): Promise<void>

Por exemplo:

await report.setPage("page2");

Tornar a página atual ativa

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

A classe Page define o método da setActive 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 as páginas. Para fazer isso, adicione um manipulador de eventos para o pageChanged evento. 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.

Próximas etapas