概述

#

`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