概述

#

`OverlayPortal.targetsRootOverlay` 属性已被弃用,并被 `overlayLocation` 替换。

背景

#

在 OverlayPortal 的默认构造函数中添加了一个 `overlayLocation` 参数,用于控制 overlay 子项的渲染位置。因此,`OverlayPortal.targetsRootOverlay` 构造函数已不再有用。

变更说明

#

`OverlayPortal.targetsRootOverlay` 已被弃用。

迁移指南

#

如果您正在使用 `OverlayPortal.targetsRootOverlay`,则可以使用带 `overlayLocation` 的 `OverlayPortal` 替代。

情况 1:简单情况

#

迁移前的代码

dart
Widget build(BuildContext context) {
  return OverlayPortal.targetsRootOverlay(
    controller: myController,
    overlayChildBuilder: _myBuilder,
    child: myChild,
  );
}

迁移后的代码

dart
Widget build(BuildContext context) {
  return OverlayPortal(
    overlayLocation: OverlayChildLocation.rootOverlay,
    controller: myController,
    overlayChildBuilder: _myBuilder,
    child: myChild,
  );
}

时间线

#

已发布版本:3.35.0-0.0.pre
稳定版发布:待定

参考资料

#

API 文档

相关议题

相关 PR