首页 新闻 会员 周边 捐助

agular-split 18 中如何 getVisibleAreaSizes

0
悬赏园豆:30 [已解决问题] 解决于 2024-12-21 10:59

升级到 agular-split 18 之后发现下面的代码编译失败,getVisibleAreaSizes 方法存在

const [leftAreaSize] = this.splitComp.getVisibleAreaSizes();
if (leftAreaSize === SidebarWidthStorage.defaultValue) return;

通过 github 上的 pr feat: modernize angular split 知道了 getVisibleAreaSizes 在 missing features 中

请问如何中 agular-split 18 如何自己实现 getVisibleAreaSizes?

dudu的主页 dudu | 高人七级 | 园豆:29642
提问于:2024-12-21 09:49
< >
分享
最佳答案
0

通过 angular-split 17.2.0 的源代码 split.component.ts#L401 知道了 getVisibleAreaSizes 的实现很简单

 getVisibleAreaSizes(): IOutputAreaSizes {
    return this.displayedAreas.map((a) => a.size)
}

参考 angular-split 18 的 visibleAreas 实现 split.component.ts#L118

private readonly visibleAreas = computed(() => this._areas().filter((area) => area.visible()))

解决了,实现代码如下

const visibleAreas = computed(() => this.splitComp._areas().filter((area) => area.visible()));
const [leftAreaSize] = visibleAreas().map(a => a.size());
if (leftAreaSize === SidebarWidthStorage.defaultValue) return;
dudu | 高人七级 |园豆:29642 | 2024-12-21 10:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册