【问题标题】:Flex: Databinding watchFlex:数据绑定手表
【发布时间】:2009-03-11 18:25:37
【问题描述】:

给定这个 MXML 组件:

<mx:TextBox id="test" text="{test2.text.length > 5}" />

当 test2.text.length > 5 的值发生变化时,如何调度事件?我已经尝试过 ChangeWatcher、BindUtils 和 PropertyChangeEvent,但没有运气:(

谢谢;

[编辑]

从更远的地方复制我的 cmets:

嗯...我实际上在我自己的TextField 组件中使用了一个新的可绑定字段,称为validationResult。我正在尝试进行原子验证而不是全部验证。反正。 test2.text.length > 5 条件是每个实例定义的,所以我不能这样硬编码。

MXML 示例:

<nui:NewTextInput id="mensualDeclarado2" validationResult="{mensualDeclarado3.text.length >= 5 && mensualDeclarado3.text.length <= 10)}" />

<nui:NewTextInput id="mensualDeclarado3" text="1234567890" />

【问题讨论】:

  • 您使用的是 mx:Text 还是 mx:TextArea?没有 mx:TextBox...
  • 我的错;它实际上是一个扩展的 TextInput。请阅读我的评论以获取以下答案。
  • 我不明白这个问题。为什么不让 NewTextInput 验证结果设置器在事件发生更改时分派事件?或者让它与事件绑定?

标签: apache-flex flash actionscript-3 data-binding actionscript


【解决方案1】:

为什么不通过 test2 的 change 事件中的新事件?

所以你有

 private var _lengthCheck:Boolean = false;
 function test2_ChangeHandler(event:Event):void
 {
     if (_lengthCheck != (test2.text.length > 5))
     {
         _lengthCheck = (test2.text.length > 5);

         if (test2.text.length > 5)
             dispatch(new Event("LENGTH_GREATER_THAN_5"));
         else
             dispatch(new Event("LENGTH_LESS_THAN_5"));
     }
 }

【讨论】:

  • 嗯...我实际上在我自己的TextField 组件中使用了一个新的可绑定字段,称为validationResult。我正在尝试进行原子验证而不是全部验证。反正。 test2.text.length > 5 条件是每个实例定义的,所以我不能这样硬编码。
  • MXML 示例:
【解决方案2】:
<mx:Script>
<![CDATA[
   private var _test2 : String = "test2.text.length &gt; 5";

   public function set test2( _test2 : String ) : void{
      dispatchEvent(new Event("test2CHANGED"));
      this._test2 = _test2;
   }
]]>
</mx:Script>
<mx:TextBox id="test" text="{_test2}" />

【讨论】:

    【解决方案3】:

    您不能将“validationResult”定义为带有私有变量以保存数据的获取/设置对,并且每次使用与变量不同的值调用设置器时,设置值,然后调度您自己的自定义事件?这就是 Flex 框架中的事件调度完成的程度。

    【讨论】:

      猜你喜欢
      • 2011-08-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-15
      • 1970-01-01
      • 1970-01-01
      • 2019-01-22
      • 2012-02-07
      相关资源
      最近更新 更多