style.width.% 如果浏览器不是全屏,则在将 clr-datagrid 与 clrDgRowSelection 一起使用时最后一个单元格不正确

style.width.% incorrect on last cell when using clr-datagrid with clrDgRowSelection if browser is not full screen

这令人沮丧;坦率地说,我有点傻眼了

任何想法、指导、建议等都将不胜感激……除了使用完全不同的数据网格(例如 NgPrime)之外,我真的不确定如何解决这个问题。

我今天更新了软件包以确保 运行 最新版本

Angular CLI: 6.2.4
Node: 8.12.0
Clarity: 0.13.3

https://stackblitz.com/edit/clarity-light-theme-v013-1narkk

我在本地和部署时遇到的问题与在 StackBlitz 中看到的问题不完全相同,这令人沮丧...

StackBlitz 显示了一个问题,其中最后一个单元格的宽度延伸到同一行的前一个单元格中......这也是有问题的,但这并不是我正在处理的问题......

我的 env 和 StackBlitz 之间唯一的区别是在 <div class="content-area"> 元素中使用 <router-outlet> - 不确定这是否重要...

全屏(最后一行的宽度允许文本伸展)

不是全屏(最后一行的宽度过早地包裹了文本) 注意 - 文本换行后光标从 'pointer' 变回 'hand' - 因此行的标签元素宽度似乎不正确......

看来 label class="datagrid-row-clickable" 是按比例限制在未被浏览器占用的可用屏幕宽度(这只是一种理论)

注意 - 如果 [clrDgRowSelection]="true" 未在 clr-datagrid 上使用,则不会出现此症状 - 如下所示......

可能与

有关

https://github.com/vmware/clarity/issues/2692

注意 - 删除 [style.width.%]="c.width" 会重现此 StackBlitz

中显示的问题

https://stackblitz.com/edit/clarity-datagrid-issue-2525-reproduction

终于确定了问题...

当使用 ngx-contextmenu - there is a required stylesheet link for bootstrap (seen in its StackBlitz demo)

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

删除 link 标记修复了我在浏览器未最大化时发现的行为

上下文菜单的样式不再正确...但这与 VMware 的 Clarity 框架无关