【问题标题】:Data binding from a method in FlexFlex中方法的数据绑定
【发布时间】:2010-09-27 18:07:41
【问题描述】:

我有以下mxml(为简洁起见,省略了一些部分):

<fx:Script>
    [Bindable]
    private var _dataSet:IDataSet;

    public function set dataSet(value:IDataSet)
    {
      _dataSet = value;
    }

    private function getColorItem(itemName:*):String
    {
      if (itemName == "Research")  return "#31e5fc";
      ...
      else {
        trace("Unknown item : " + itemName);
        return #ffffff;
      }
    }  
</fx:Script>
<spark:RichText color="{this.getColorItem(this._dataSet.name)}" ... />

有谁知道为什么没有应用颜色?如果我将绑定更改为方法,对于常量字符串(即#31e5fc),它可以正常工作吗?

我需要根据这个组件接收到的数据来改变颜色。非常感谢任何关于我在哪里做错的帮助。

【问题讨论】:

    标签: apache-flex actionscript-3 flex4 flash-builder


    【解决方案1】:

    这里有一些奇怪的东西。首先,您的 getColorItem 函数应该返回一个 uint 而不是一个字符串。其次,为什么不直接从 dataSet 设置器中调用 getColorItem 呢?像这样的:

    public function set dataSet(value:IDataSet)
    {
        _dataSet = value;
        myRichText.setStyle("color", getColorItem(_dataSet.name);
    }
    

    希望对您有所帮助。

    【讨论】:

    • 我刚刚发现了我的错误。我忘记为 RichText 设置一个 id。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 2011-05-17
    • 1970-01-01
    • 2011-02-15
    • 1970-01-01
    相关资源
    最近更新 更多