小编Flo*_*der的帖子

当没有上下文可用时,如何从异步执行中显示SnackBar?

我有一个使用Flutter-Redux的应用程序。在某些用户操作上,将分派各种还原操作,并且这些操作在中间件中异步运行。我现在的问题是:万一出问题了,我如何从中间件显示SnackBar。我不能使用回调,因为不能保证派发动作的Widget仍然可用。错误将是:

此时,小部件的元素树的状态不再稳定。要在其dispose()方法中安全引用窗口小部件的祖先,请通过在窗口小部件的didChangeDependencies()方法中调用InheritFromWidgetOfExactType()来保存对祖先的引用。

例:

  1. 用户单击“保存”。
  2. 动作“保存到数据库”被异步调度。
  3. 动作“ Save over Rest”异步发送。
  4. 对话框关闭。

现在...当例如rest调用返回错误时,由于“很长一段时间”而关闭了该对话框,其上下文无效,并且我无法显示SnackBar。

进一步:

SnackBar必须始终绑定到脚手架。因此,我已经尝试制作一个空的root-Scaffold并通过GlobalKey引用它。这就带来了一个问题,即当另一个窗口小部件位于根窗口小部件上方且用户无法读取时,SnackBar被隐藏。

有什么建议如何解决这个问题?

最好的问候,弗洛里安

flutter

2
推荐指数
1
解决办法
1511
查看次数

Primefaces inputtext焦点位于文本末尾

这是我的JSF片段:

<p:tabView id="tabView" var="tab" value="#{data.tabs}" widgetVar="tabViewWidget"
                activeIndex="#{data.newActiveTabIndex}">

                <p:ajax event="tabClose" listener="#{logic.closeTab}" />

                <p:tab title="#{tab.content.title != null ? tab.content.title : '&amp;lt;new&amp;gt;'}"
                    closable="#{tab.isClosable and data.tabs.size() > 2}">
                    <h:outputText value="#{tab.id} Test" />

                    <p:focus rendered="#{data.componentIdToFocus != null}" for="#{data.componentIdToFocus}" />

                    <p:inputText id="test" value="#{tab.content.title}">
                        <p:ajax event="keyup" listener="#{logic.setFocusingComponent}" update=":form:tabView" />
                    </p:inputText>
                </p:tab>

            </p:tabView>
Run Code Online (Sandbox Code Playgroud)

目的是每个选项卡中都有一个文本字段,用于在写入时更新选项卡的标题.给定的代码段工作,但p:focus将光标放在已写入文本的开头.我希望光标放在已经写入的文本的末尾.这样用户可以输入并在他/她输入标题时自动适应.

我希望我的情况很清楚.有人有解决方案吗?

最好的问候,弗洛里安

primefaces jsf-2

1
推荐指数
1
解决办法
9715
查看次数

标签 统计

flutter ×1

jsf-2 ×1

primefaces ×1