【问题标题】:Getting name of selected item in Tree UIComponent FLEX 4.6在 Tree UIComponent FLEX 4.6 中获取所选项目的名称
【发布时间】:2012-11-18 06:18:59
【问题描述】:

这是我使用 FLEX 和 AS 3.0 的第二天,所以我对此非常陌生。我正在尝试获取树组件中所选项目的值,在这种情况下它只是一个名称。下面是我创建的树。树的内容已经用一个名为“cat”的数组以编程方式填充。树填充得很好,但我不知道如何获取当前选定项目的名称。

<mx:Tree id="category_tree" x="10" y="80" width="160" height="169" showRoot="true" dataProvider="{cat}" labelField="name">

我使用了 selectedItem.toString() 函数,但这似乎只返回对象的类型而不是值。目前它返回“对象对象” 在我的脚本中...

category_tree.selectedItem.toString();

对此的任何帮助将不胜感激。提前感谢您的宝贵时间。

【问题讨论】:

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


    【解决方案1】:

    您可以向树中添加更改事件并使用类似于以下的回调:

     private function changeEvt(event:Event):void {
            var lableData:*;
            var label:String;
    
            if (event.currentTarget.selectedItem.@data) {
               labelData = event.currentTarget.selectedItem.@data;
            }
    
            label = event.currentTarget.selectedItem.@label; 
         }
     }
    

    或直接访问值

    category_tree.selectedItem.@label;
    

    【讨论】:

    • 当我尝试 category_tree.selectedItem.@label 时出现错误。 ReferenceError:错误 #1081:在 Object 上找不到属性标签,并且没有默认值。
    • 检查您发送到树的数据 - 另外,在调试器中运行它并查看值是什么。另外,尝试@name - 你的最后一个参数将 labelField 设置为 name
    • 我应该列出我运行调试器并尝试了所有名称,包括名称参数。不过,今天早上我把它弄得更乱了,但我找到了答案,我不得不关闭@符号(selectedItem.name)。由于某种原因,这导致了问题。非常感谢您的帮助,因为您确实引导我找到了正确的答案。
    猜你喜欢
    • 1970-01-01
    • 2011-02-05
    • 1970-01-01
    • 2011-08-10
    • 1970-01-01
    • 2017-09-26
    • 1970-01-01
    • 1970-01-01
    • 2016-03-16
    相关资源
    最近更新 更多