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
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
TNodecallback
Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>>
Returns
Find(IEnumerable<TNode>, TItem, out int)
在全部树状结构 source
中寻找指定 target
public TNode? Find(IEnumerable<TNode> source, TItem target, out int degree)
Parameters
source
IEnumerable<TNode>target
TItemdegree
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
TNodecallback
Func<TNode, Task<IEnumerable<IExpandableNode<TItem>>>>
Returns
Exceptions
TryFind(IEnumerable<TNode>, TItem, out TNode)
尝试在全部树状结构 items
中寻找指定 target
public bool TryFind(IEnumerable<TNode> items, TItem target, out TNode ret)
Parameters
items
IEnumerable<TNode>target
TItemret
TNode查询结果 查无资料时为 null
Returns
- bool
是否存在
target
Remarks
采广度优先搜寻