добавление элемента в массив - PullRequest
2 голосов
/ 12 декабря 2010

Как добавить элемент в многомерный массив? Я хочу добавить цену к пункту 2, но получаю "толчок - это не функция"

<fx:Script>
    <![CDATA[

        [Bindable]
        public var dp:Array = [ 
            { label: "item1", desc: "this is item 1"  },
            { label: "item2", desc: "this is item 2"  },
            { label: "item3", desc: "this is item 3"  }
        ];


        private function addItem():void{
            var v:String = '$8.99';
            dp[1].push( ("price:", v ) ); 
            dp.refresh();

        }
    ]]>
</fx:Script>


<mx:VBox> 
    <mx:Repeater id="r" dataProvider="{myAC}">
        <mx:RadioButton label="{r.currentItem.label}"/>
        <mx:Text text="{r.currentItem.desc}"/>
        <mx:Text text="{r.currentItem.price}"/>
    </mx:Repeater>


<s:Button label="push" click="addItem()"/>


</mx:VBox> 


</mx:Application>

1 Ответ

4 голосов
/ 12 декабря 2010

У вас есть массив объектов, а не массив массивов.Попробуйте это:

    [Bindable]
    public var dp:Array = [ 
        { label: "item1", desc: "this is item 1", price : ""  },
        { label: "item2", desc: "this is item 2", price : ""  },
        { label: "item3", desc: "this is item 3", price : ""  }
    ];

    private function addItem():void{
        var v:String = '$8.99';
        dp[1]["price"] = v; 
        dp.refresh();

    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...