【问题标题】:ExtJS 4 - How to persist values of textfields in a floating panel when panel is hidden/shown?ExtJS 4 - 隐藏/显示面板时如何在浮动面板中保留文本字段的值?
【发布时间】:2015-07-18 20:03:36
【问题描述】:

我正在构建一个 ExtJS4 Web 应用程序,并且在其中向用户显示“搜索面板”的部分。它基本上是一个带有文本字段和 gridView 的浮动面板。文本字段允许用户输入他或她的名字和姓氏过滤器。还有一个组合框,用户可以使用它来过滤搜索。结果显示在 gridView 中。搜索功能运行良好。

但是,当浮动面板被隐藏然后显示时,字段会被重置,用户必须再次输入。

我想要发生的是即使面板被隐藏然后再次显示,文本字段和组合框的值也会保持不变。我曾尝试使用setVisibility(false),然后使用setVisibility(true),但这对我不起作用。

当字段的父视图被隐藏/显示时,如何保持字段值?

【问题讨论】:

  • 你能创建一个小提琴或分享一些代码吗?
  • 最终改用 cookie。将文本字段值保存在 beforehide 事件触发器上,然后在 show 函数中恢复它们,但稍有延迟。
  • 尝试使用'stateful'属性,应该会有帮助

标签: extjs extjs4 extjs4.2


【解决方案1】:

当您只是隐藏和显示搜索面板时,这些字段应该保留了值。您的程序中似乎存在错误,但如果没有看到一些代码,我无法确定。假设您的搜索面板包含关闭按钮,我建议您在面板上使用closeAction: 'hide' 而不是使用setVisibility()。还要确保您没有创建多个搜索面板实例,而是使用搜索面板的单个对象。

这是一个快速的小提琴http://jsfiddle.net/DirtyParadoxx/gL9aekzz/

如果您想使用 cookie,那么正如 Nikolay Lopin 建议的那样,stateful: true 将是一个不错的方式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-10-18
    • 2013-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-09
    • 2012-05-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多