Как заставить Yahoo ASTRA autocompletemanager выводить последнее введенное в него значение при создании приложения?(Flash builder, mxml)

#actionscript-3 #flash #apache-flex #mxml #yahoo-astra

#actionscript-3 #flash #apache-flex #mxml #yahoo-astra

Вопрос:

Итак, в yahoo astra есть решетка, составная для сохранения введенных данных. Они показывают примеры того, как его использовать. Но я не нашел ни одного, способного решить мою текущую проблему. Например, пользователь ввел свое имя. Оно сохраняется, но когда он приходит снова, ему всегда нужно вводить хотя бы первую часть своего имени. итак, мне интересно — как заставить компонент Yahoo astra autocompletemanager выводить последнее введенное в него значение при завершении создания приложения?

Итак, например, предположим, что у нас есть:

 <?xml version="1.0" encoding="utf-8"?>  
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:yahoo="http://www.yahoo.com/astra/2006/mxml" creationComplete="application1_creationCompleteHandler(event)">  
 <mx:Script>
  <![CDATA[
   import mx.events.FlexEvent;

   protected function application1_creationCompleteHandler(event:FlexEvent):void
   {
    // make autoCompleteMgr pop up last inputed values
   }

  ]]>
 </mx:Script>

 <yahoo:AutoCompleteManager   
  id="autoCompleteMgr"   
  targets="{[textInput1]}"  
  shareData="true"   
  autoSave="true"   
  />  

 <mx:Label x="40" y="37" text="Full Name"/>  
 <mx:TextInput id="textInput1" left="40" top="53"/>  

</mx:Application> 
  

Очень простой код. но как заставить autoCompleteMgr выводить последние введенные значения в TextInputs, в которые в последний раз использовалось приложение, были введенные значения?

Кстати: я решил это довольно дерьмовым способом:

 <?xml version="1.0" encoding="utf-8"?>  
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:yahoo="http://www.yahoo.com/astra/2006/mxml" creationComplete="application1_creationCompleteHandler(event)">  
    <mx:Script>
        <![CDATA[
            import mx.events.FlexEvent;

            protected function application1_creationCompleteHandler(event:FlexEvent):void
            {
                autoCompleteMgr.openDropdownForTarget(textInput1);
            }

        ]]>
    </mx:Script>

    <yahoo:AutoCompleteManager   
        id="autoCompleteMgr"   
        targets="{[textInput1]}"  
        shareData="true"   
        autoSave="true"  
        caseSensitive="true"
        popUpEnabled="true"
        minCharsForCompletion="0"
        />  

    <mx:Label x="40" y="37" text="Full Name"/>  
    <mx:TextInput id="textInput1" left="40" top="53"/>  
</mx:Application> 
  

Комментарии:

1. Я мог бы поклясться, что это дубликат недавнего вопроса; но я не могу его найти.

2. @www.Flextras.com теперь я нашел ответ =)

3. Отлично! Если это не один из предоставленных ответов, обязательно ответьте на свой вопрос и выберите его как «отвеченный»

4. @www.Flextras.com Это неправильный ответ, это плохой обман.

Ответ №1:

Похоже, что в компоненте AutoCompleteManager есть свойство autoFillEnabled