fantasy-ngzorro 2.2.32 → 2.2.34

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -102,9 +102,20 @@ export declare class HdTableComponent implements OnInit, OnDestroy {
102
102
  measuredVirtualItemSize: number;
103
103
  /** 记录当前是否处于虚拟滚动模式,用于切换 pageSize 时重建表格 */
104
104
  private virtualScrollActive;
105
- /** 可见列总宽,用于判断是否需要横向滚动 */
106
- /** 列宽合计(含勾选/序号),footer 表宽与横向 scroll 共用 */
105
+ /** 列宽合计(含勾选/序号 + fluid 补宽),footer 表宽与横向 scroll 共用 */
107
106
  tableColWidthTotal: number;
107
+ /**
108
+ * fluid:声明列总宽 < 容器时,把差额补到最后一列业务列(不改缓存宽),
109
+ * 并设 scroll.x = 容器宽,避免表宽 100% 均摊撑开勾选列;拖拽改宽仍写 col.width。
110
+ */
111
+ fluidExtraWidth: number;
112
+ /**
113
+ * 列总宽未超出容器(fluid 补宽吃满):不需要真正横滚,
114
+ * 用于关掉 ng-zorro fixed-header 带来的常驻 X 轴滚动条。
115
+ */
116
+ fluidHorizontal: boolean;
117
+ /** fluid 补宽目标列缓存,避免模板每格 CD 时反复扫 tableCols */
118
+ private fluidExtraTargetCol;
108
119
  /** 数据更新后待复位纵向滚动位置 */
109
120
  private pendingResetScrollTop;
110
121
  /** 当前排序,表格重建后用于恢复表头排序态 */
@@ -168,10 +179,14 @@ export declare class HdTableComponent implements OnInit, OnDestroy {
168
179
  readonly lineNumberLeft: string;
169
180
  readonly lineNumberColWidthPx: string;
170
181
  /**
171
- * 列总宽未超出容器:无横向 scroll,表体列会被撑满,合计走 fluid(width:100%)。
172
- * 列总宽超出:有 scroll.x,合计走固定表宽 + 横滚同步。
182
+ * 无 scroll.x 时合计走 fluid(width:100%)。
183
+ * 列少时也会设 scroll.x(补宽吃满),合计走固定表宽。
173
184
  */
174
185
  readonly isTotalFooterFluid: boolean;
186
+ /** 展示用列宽:fluid 时最后一列业务列 = 声明宽 + fluidExtraWidth */
187
+ getColDisplayWidth(col: HdTableColumn): number;
188
+ /** 按当前 layout 刷新 fluid 补宽目标列(仅 dealScroll / sync 时调用) */
189
+ private refreshFluidExtraTargetCol;
175
190
  /** fluid → 100%;固定 → scroll.x(与表体同一套横向宽度) */
176
191
  readonly totalFooterTableWidth: string;
177
192
  /** 当前页行号(跨页连续,从 1 开始) */
@@ -221,11 +236,14 @@ export declare class HdTableComponent implements OnInit, OnDestroy {
221
236
  private getVirtualScrollY;
222
237
  private hasTableData;
223
238
  /**
224
- * 列总宽超出外层容器才启用横向 scroll。
225
- * 以 dealScroll 累计的声明列宽为准,不用 DOM 自然测宽(内容不截断会偏大,导致列能放下也开横滚)。
239
+ * 按声明列总宽 + 容器宽,计算 scroll.x 与 fluid 补宽。
240
+ * 列少:scroll.x = 内容区宽(clientWidth),差额加到最后业务列(勾选保持 40);
241
+ * 列多:scroll.x = 声明总宽。
242
+ * 比较是否超宽用 offsetWidth(含 Y 槽),避免「仅因纵滚条」误开横滚;
243
+ * 补宽目标用 clientWidth,且 scroll.x 用 floor,避免表宽多 1px 逼出 X 轴滚动条。
226
244
  */
227
- private resolveScrollX;
228
- /** 表格渲染后按实际容器宽度校正横向 scroll(只改 x,避免触发表头结构变化) */
245
+ private resolveHorizontalLayout;
246
+ /** 表格渲染后按实际容器宽度校正横向 scroll / fluid 补宽 */
229
247
  private syncHorizontalScroll;
230
248
  /** 手动把表体横向滚动同步到表头 / 合计 footer(兜底 ng-zorro 监听丢失的情况) */
231
249
  private syncHeaderBodyScrollLeft;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "fantasy-ngzorro",
3
- "version": "2.2.32",
4
- "description": "fix:hd-filter 多选/日期范围空值用 [] 以显示 placeholder",
3
+ "version": "2.2.34",
4
+ "description": "fix:hd-table 关闭虚拟滚动时异步灌数据也重算 fluid 列宽",
5
5
  "peerDependencies": {
6
6
  "moment": "^2.24.0",
7
7
  "ng-zorro-antd": "^8.5.2",
@@ -11,7 +11,7 @@ export declare function measureTableColWidth(nzTable: NzTableComponent): number;
11
11
  * 这里用 offsetWidth(含滚动条槽)作为屏幕可展示宽度。
12
12
  */
13
13
  export declare function getTableScrollXViewportWidth(nzTable: NzTableComponent, hostClass?: string): number;
14
- /** 无数据或列宽未超出容器时不启用横向 scroll */
14
+ /** 无数据或列宽未超出容器时不启用横向 scroll(fluid:表宽 100%,勾选/序号列由 CSS 锁宽) */
15
15
  export declare function resolveAutoTableScroll(nzTable: NzTableComponent, hasData: boolean, colWidth?: number): HdTableScrollConfig | null;
16
16
  /** 取 ng-zorro 分体表头 / 表体滚动容器(含虚拟滚动) */
17
17
  export declare function getNzTableScrollElements(nzTable: NzTableComponent): {