Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 如何从覆盖中删除覆盖入口?_Dart_Flutter - Fatal编程技术网

Dart 如何从覆盖中删除覆盖入口?

Dart 如何从覆盖中删除覆盖入口?,dart,flutter,Dart,Flutter,我只是想删除我先前插入到覆盖中的OverlayEntry: rootOverlay.insert(entry); 不过,我似乎找不到一种方法可以做到这一点。 我确实在overlystate类中找到了一个私有方法\u remove,但我无法访问该方法 我错过什么了吗?在Flatter中如何执行此操作?移除方法不在OverlyState内部,而是OverlyEntry本身 entry.remove() 哦,哇,又一天,雷米的又一个回答!但这对我来说似乎有点奇怪,为什么它是这样实现的?我没有“为什

我只是想删除我先前插入到
覆盖中的
OverlayEntry

rootOverlay.insert(entry);
不过,我似乎找不到一种方法可以做到这一点。
我确实在
overlystate
类中找到了一个私有方法
\u remove
,但我无法访问该方法


我错过什么了吗?在Flatter中如何执行此操作?

移除方法不在
OverlyState
内部,而是
OverlyEntry
本身

entry.remove()

哦,哇,又一天,雷米的又一个回答!但这对我来说似乎有点奇怪,为什么它是这样实现的?我没有“为什么?”。但我觉得这其实很聪明。你总是需要把你的覆盖条目放在某个地方,无论如何都要使用
marksNeedsBuild
。啊,最后我想我知道了。这是因为在许多情况下,您需要删除
dispose
方法中的覆盖。问题是,您通常不能在dispose中调用(上下文)
。这很有意义!此外,您可能有多个,并希望指定要删除的。但是,我仍然可以使用按钮删除覆盖,但不能从dispose中删除。