【问题标题】:flex 3 and autoCompleteflex 3 和自动完成
【发布时间】:2010-03-11 11:33:47
【问题描述】:

我试图让自动完成工作,当我在我的 mxml 中创建一个数组,然后在初始化关键字中初始化文件顶部的 arrayCollection 时,我可以做到这一点。

但是我想从 web 服务填充 arraycollection,但我似乎无法得到它;

我的应用程序标签我有以下

creationComplete="init()"
initialize="data2 = new ArrayCollection(data1);" 

然后在我的 init 方法中;

    private function init():void 
{
userRequest.loadWSDL(wsdlUrl);
userRequest.getAllCountries();
}   

//当我从 userRequest.getAllCountries() 得到结果时调用它;

 private function getAllCountriesResult(e:ResultEvent):void 
    {
    data1 = new Array(e.result);
        }

但是我的文本框没有获得任何价值。

有人有想法吗?

【问题讨论】:

  • 仍然无法正常工作,我正在使用 Web 服务来填充 arrayCollection,有什么想法吗?在初始化之前是否会调用creationComplete,如果没有,我可以从我的初始化中调用函数吗?欢呼
  • 我实际上得到了数据并自动完成工作但是有一个问题,数组中的第一个元素总是在加载时出现在输入框中。当我删除它并开始输入时,它工作正常,但这不是我想要的。有什么想法吗?
  • 请编辑您的原始帖子,而不是添加更多详细信息作为答案。
  • 在 getAllCountriesResult() 的列表开头添加一个空白条目怎么样?

标签: apache-flex autocomplete


【解决方案1】:

首先,数组不可绑定,因此更改变量 data1 不会产生连锁反应。

arrayCollection 是可绑定的。

所以假设结果(e.result)实际上是一个数组(你应该在调试时检查这个)然后你可以执行以下操作

[Bindable]
priavte var ac : ArrayCollection;

那么在你里面是 getAllCountriesResult 函数。

ac = new ArrayCollection(e.result);

那么任何设置为 var ac 的 dataprovider 都会被更新。

如果您希望更新 textArea 或类似内容中的文本值,则应在 arrayCollection 中侦听更改事件,然后采取适当的操作。


从您下面的附加点(只需编辑您的原始问题)

我认为您所说的自动完成是来自 adobe 交换区的自动完成文本输入框,因为普通文本框不采用 arrayCollection。 如果您发布了一些代码,它可能会更容易帮助您。 预初始化,然后初始化,然后是 creationComplete,然后是 applicationComplete(这是它们被调用的顺序)。

如果您使用我想要的组件,请查看http://www.websector.de/blog/2008/04/30/quick-tip-avoid-issues-using-adobes-autocomplete-input-component-using-flex-3/ 看来 flex 3 可能存在一些问题,所以请查看http://blogs.adobe.com/flex/2006/09/component_autocomplete_text_in.html

【讨论】:

    【解决方案2】:

    试试这个:

    private function getAllCountriesResult(e:ResultEvent):void 
    {
       data2.source = new Array(e.result); // or data2.source = e.result as Array
    }
    

    确保 data2 已初始化为 ArrayCollection。

    至于自动完成,我正在尝试自己解决问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-16
      • 2023-03-27
      • 1970-01-01
      • 2012-06-12
      • 1970-01-01
      • 2013-07-05
      相关资源
      最近更新 更多