Table of Contents

Class ExpandableNodeCache<TNode, TItem>

Namespace
BootstrapBlazor.Components
Assembly
BootstrapBlazor.dll

节点缓存类

public class ExpandableNodeCache<TNode, TItem> where TNode : IExpandableNode<TItem>

Type Parameters

TNode
TItem
Inheritance
ExpandableNodeCache<TNode, TItem>
Derived
Inherited Members
Extension Methods

Remarks

构造函数

Constructors

ExpandableNodeCache(Func<TItem, TItem, bool>)

节点缓存类

public ExpandableNodeCache(Func<TItem, TItem, bool> comparer)

Parameters

comparer Func<TItem, TItem, bool>

Remarks

构造函数

Properties

CollapsedNodeCache

所有已收缩行集合 作为缓存使用

protected List<TItem> CollapsedNodeCache { get; }

Property Value

List<TItem>

EqualityComparer

对象比较器

protected IEqualityComparer<TItem> EqualityComparer { get; }

Property Value

IEqualityComparer<TItem>

ExpandedNodeCache

所有已展开行集合 作为缓存使用

protected List<TItem> ExpandedNodeCache { get; }

Property Value

List<TItem>

Methods

CheckExpandAsync(TNode, Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>>)

检查当前节点是否展开

public Task CheckExpandAsync(TNode node, Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>> callback)

Parameters

node TNode
callback Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>>

Returns

Task

Find(IEnumerable<TNode>, TItem, out int)

在全部树状结构 source 中寻找指定 target

public TNode? Find(IEnumerable<TNode> source, TItem target, out int degree)

Parameters

source IEnumerable<TNode>
target TItem
degree int

树状阶层,起始为0

Returns

TNode

查询结果 查无资料时为 null

Remarks

采广度优先搜寻

ToggleNodeAsync(TNode, Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>>)

节点展开收缩状态切换方法

public virtual Task ToggleNodeAsync(TNode node, Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>> callback)

Parameters

node TNode
callback Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>>

Returns

Task

Exceptions

InvalidOperationException

TryFind(IEnumerable<TNode>, TItem, out TNode)

尝试在全部树状结构 items 中寻找指定 target

public bool TryFind(IEnumerable<TNode> items, TItem target, out TNode ret)

Parameters

items IEnumerable<TNode>
target TItem
ret TNode

查询结果 查无资料时为 null

Returns

bool

是否存在 target

Remarks

采广度优先搜寻