如何處理事件
提示
在 Power BI Embedded Analytics 遊樂場的開發人員沙盒區段中,使用您自己的報表或我們的範例報告,實時試驗 API。
事件可用來在Power BI元件 (之間通訊,例如報表) 和Web應用程式程式碼。
內嵌元件會在元件內執行動作之後發出事件。 這些可以是用戶互動或自動化動作 (,例如在元件內轉譯) 視覺效果。
例如,當使用者按兩下報表中的按鈕時, buttonClicked
Power BI 報表所發出的事件。 您可以使用 接 report.on(...)
聽事件,然後設定事件處理程式。
如何處理事件的範例
此範例示範如何處理報表事件。 若要瞭解其他類型的事件,請參閱 事件及其回應值。
注意
請先等候元件載入,再使用 API。 接聽載入的事件,然後發出新的命令。
report.on('loaded', function(event)
{
reportPages = await report.getPages();
});
如何移除事件處理程式
您可以使用 report.off(...)
來移除特定事件的所有事件處理程式。
事件及其回應值
檢視可能事件及其回應值的完整清單。
與所有內嵌相關的錯誤事件 ()
發出錯誤事件來描述失敗的作業。
interface IError {
message: string // A general message that describes the operation that failed (example: "Could not set page")
detailedMessage?: string // Detailed message that describes the error
errorCode?: string // Short message that describes the error
level?: TraceType // The level of the error (example: 'Fatal')
technicalDetails?: ITechnicalDetails
}
interface ITechnicalDetails {
requestId?: string // Id for debugging - should be provided when reporting a bug
}
注意
message
只需要 屬性,而且其他屬性可能未定義。
報告事件
系統會發出報表事件,以便與內嵌報表互動,例如按兩下報表按鈕或轉譯視覺效果。
buttonClicked
當使用者 buttonClicked
按兩下 [ 報表 ] 按鈕時,就會引發事件。
id: string
title?: string
type?: string (type of button)
bookmark?: string
commandTriggered
當使用者 commandTriggered
按兩下 擴充功能命令時,就會引發事件。
command: string
dataPoints?: IIdentityValue[]
report: models.IReport
page: models.IPage
visual: models.IVisual
dataHyperlinkClicked
dataHyperlinkClicked
點選超連結時,就會引發 事件,而超連結的行為會設定為 NavigateAndRaiseEvent
或 RaiseEvent
。
url: string
report: models.IReport
page: models.IPage
visual: models.IVisual
如需詳細資訊,請參閱 設定報表設定。
dataSelected
選取特定數據點時,就會 dataSelected
引發事件。
report: models.IReport
page: models.IPage
visual: models.IVisual
filters: IFilter[]
dataPoints: IIdentityValue[]
已載入
當報表初始化時,就會 loaded
引發 事件。 當 Power BI 標誌消失時,載入就會完成。
pageChanged
每當頁面變更時,就會 pageChanged
引發 事件。
newPage: Models.IPage
呈現
當報表完全轉譯時,就會 rendered
引發 事件。 例如,如果在載入報表時或在使用者互動之後轉譯所有視覺效果。
saveAsTriggered
當使用者 saveAsTriggered
在 UI 中按兩下 [另 存新檔 ] 時,就會引發此事件。 這可讓您為 [另 存 新檔] 動作建立自己的對話框。
已儲存
saved
當UI中的或 saveAs
動作或使用 API 觸發save
儲存時,就會引發事件。
selectionChanged
selectionChanged
每當使用者變更選取的視覺效果時,就會引發事件。
selectedItems
是選取一個以上時,所有選取視覺效果的清單。
report: models.IReport
page: models.IPage
visual?: models.IVisual
selectedItems?: models.IVisual[]
visualClicked
visualClicked
每次按兩下視覺效果時都會引發事件。
report: models.IReport
page: models.IPage
visual: models.IVisual
visualRendered
visualRendered
當視覺效果轉譯 (需要在 settings 物件中將 設定visualRenderedEvents
為 true 時,就會引發 事件) 。
注意
由於視覺效果可能會因為用戶互動而轉譯,因此建議只在需要時開啟此事件。
name: string
如需詳細資訊,請參閱 設定報表設定。
報表內嵌行動事件
系統會發出報表內嵌行動事件,以便與行動版面配置中的內嵌報表互動,例如撥動的開頭或結尾。
swipeStart 和 swipeEnd 事件
swipeStart
或 swipeEnd
事件會在用戶開始或結束內嵌報表上的撥動移動時引發。
interface ISwipeEvent {
currentPosition: IPosition
startPosition: IPosition
}
interface IPosition {
x: number
y: number
}
儀錶板事件
儀錶板事件會在載入儀錶板時以及使用者單擊儀錶板中的圖格時發出。
已載入
當儀錶板初始化時,就會 loaded
引發 事件。
tileClicked
當使用者按兩下圖格時,就會 tileClicked
引發事件。 未針對釘選的即時頁面引發。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
Q&A 事件
當視覺效果在輸入問題之後轉譯時,就會引發問題 (Q&A) 事件。
visualRendered (Q&A)
visualRendered
在輸入問題之後呈現視覺效果並顯示答案時,就會引發 事件。
question: string
normalizedQuestion: string
磚事件
當使用者按兩下磚時,就會引發 Tile 事件。
tileClicked (磚事件)
當使用者按兩下圖格時,就會 tileClicked
引發事件。 未針對釘選的即時頁面引發。
tileId: string
navigationUrl: string
pageName: string
reportEmbedUrl: string
tileLoaded
當磚初始化時,就會 tileLoaded
引發 事件。 當 Power BI 標誌消失時,載入就會完成。