Virtualize<TItem> 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
提供轉譯虛擬化專案清單的功能。
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 物品的類型。
- 繼承
- 實作
建構函式
| 名稱 | 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) |
將所供應 如果例外狀況發生在元件生命週期方法之外,但您想要將其視為元件生命週期方法的例外狀況,這非常有用。 (繼承來源 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) |