共用方式為


Virtualize<TItem> 類別

定義

提供轉譯虛擬化專案清單的功能。

generic <typename TItem>
public ref class Virtualize sealed : Microsoft::AspNetCore::Components::ComponentBase, IAsyncDisposable
public sealed class Virtualize<TItem> : Microsoft.AspNetCore.Components.ComponentBase, IAsyncDisposable
type Virtualize<'Item> = class
    inherit ComponentBase
    interface IAsyncDisposable
Public NotInheritable Class Virtualize(Of TItem)
Inherits ComponentBase
Implements IAsyncDisposable

類型參數

TItem

渲染 context 物品的類型。

繼承
Virtualize<TItem>
實作

建構函式

名稱 Description
Virtualize<TItem>()

提供轉譯虛擬化專案清單的功能。

屬性

名稱 Description
Assets

申請時會得到。ResourceAssetCollection

(繼承來源 ComponentBase)
AssignedRenderMode

IComponentRenderMode 指派到這個元件。

(繼承來源 ComponentBase)
ChildContent

取得或設定清單的項目範本。 參見 ItemContent

EmptyContent

取得或設定內容顯示為 Items 空或 TotalItemCount 為零。

ItemContent

取得或設定清單的項目範本。

Items

取得或設定固定項目來源。

ItemSize

取得每個專案的大小,以像素為單位。 預設值為 50px。

ItemsProvider

取得或設定提供專案給清單的函式。

MaxItemCount

即使客戶端回報其視窗足夠大,仍能取得或設定最大渲染數量。 預設值是 100。

這僅應作為防止過度記憶體使用或大量資料負載的保障。 不要把這個數字設得比你預期能在真實大小的視窗中小,因為這會在下方留下空白,使用者可能看不到其他內容。

OverscanCount

取得或設定值,這個值會決定在可見區域前後轉譯多少其他專案。 這有助於減少卷動期間轉譯的頻率。 不過,較高的值表示頁面上會出現更多元素。

Placeholder

取得或設定尚未在記憶體中載入之專案的範本。

RendererInfo

讀取 RendererInfo 元件正在運行的狀態。

(繼承來源 ComponentBase)
SpacerElement

取得或設定將做為虛擬化空格符之 HTML 項目的標記名稱。 一個這類專案會在可見專案之前轉譯,並在這些項目之後再轉譯一個,使用明確的「高度」樣式來控制卷動範圍。

預設值為 「div」。。 如果你把實例放在 Virtualize<TItem> 需要特定子標籤名稱的元素裡,可以考慮在這裡設定。 例如在「tbody」內渲染時,考慮設定 SpacerElement 為「tr」。

方法

名稱 Description
BuildRenderTree(RenderTreeBuilder)

將元件渲染成所提供的 RenderTreeBuilder

(繼承來源 ComponentBase)
DispatchExceptionAsync(Exception)

將所供應 exception 的訊號視為由此元件拋出。 這會導致封入 ErrorBoundary 轉換成失敗狀態。 如果沒有封入 ErrorBoundary,則會被視為封入轉譯器中的例外狀況。

如果例外狀況發生在元件生命週期方法之外,但您想要將其視為元件生命週期方法的例外狀況,這非常有用。

(繼承來源 ComponentBase)
DisposeAsync()

提供轉譯虛擬化專案清單的功能。

InvokeAsync(Action)

在相關聯的轉譯器同步處理內容上執行提供的工作專案。

(繼承來源 ComponentBase)
InvokeAsync(Func<Task>)

在相關聯的轉譯器同步處理內容上執行提供的工作專案。

(繼承來源 ComponentBase)
OnAfterRender(Boolean)

每次元件以互動方式轉譯且UI完成更新之後叫用的方法(例如,元素新增至瀏覽器 DOM之後)。 任何 ElementReference 欄位在執行時都會被填滿。

此方法不會在預先呈現或伺服器端轉譯期間叫用,因為這些進程不會附加至任何實時瀏覽器 DOM,而且已在更新 DOM 之前完成。

(繼承來源 ComponentBase)
OnAfterRenderAsync(Boolean)

每次以互動方式轉譯元件且UI完成更新之後叫用的方法(例如,元素新增至瀏覽器 DOM之後)。 任何 ElementReference 欄位在執行時都會被填滿。

此方法不會在預先呈現或伺服器端轉譯期間叫用,因為這些進程不會附加至任何實時瀏覽器 DOM,而且已在更新 DOM 之前完成。

請注意,元件在完成任何回傳 Task後不會自動重新渲染,因為那會導致無限渲染迴圈。

(繼承來源 ComponentBase)
OnInitialized()

當元件準備好啟動時叫用的方法,已從轉譯樹狀結構中的父代接收其初始參數。

(繼承來源 ComponentBase)
OnInitializedAsync()

當元件準備好啟動時叫用的方法,已從轉譯樹狀結構中的父代接收其初始參數。

如果您要執行異步操作,並想要元件在完成該作業時重新整理,請覆寫此方法。

(繼承來源 ComponentBase)
OnParametersSet()

當元件從轉譯樹狀結構中的父代接收參數,且傳入值已指派給屬性時叫用的方法。

(繼承來源 ComponentBase)
OnParametersSetAsync()

當元件從轉譯樹狀結構中的父代接收參數,且傳入值已指派給屬性時叫用的方法。

(繼承來源 ComponentBase)
RefreshDataAsync()

指示元件重新請求其資料。ItemsProvider 如果外部數據可能已變更,這會很有用。 使用 Items時無需稱呼 。

SetParametersAsync(ParameterView)

設定由元件父代在轉譯樹狀結構中提供的參數。

(繼承來源 ComponentBase)
ShouldRender()

傳回旗標,指出元件是否應該呈現。

(繼承來源 ComponentBase)
StateHasChanged()

通知元件其狀態已變更。 適用時,這會導致元件重新轉譯。

(繼承來源 ComponentBase)

明確介面實作

名稱 Description
IComponent.Attach(RenderHandle)

提供轉譯虛擬化專案清單的功能。

(繼承來源 ComponentBase)
IHandleAfterRender.OnAfterRenderAsync()

提供轉譯虛擬化專案清單的功能。

(繼承來源 ComponentBase)
IHandleEvent.HandleEventAsync(EventCallbackWorkItem, Object)

提供轉譯虛擬化專案清單的功能。

(繼承來源 ComponentBase)

適用於