J'essaie de charger des détails de produit dans un composant canvas à partir d'un composant List.Autre méthode de créationcomplète
Chaque fois que l'utilisateur clique sur un produit dans ma liste, les détails du produit seront affichés dans le composant de canevas. Le détail du produit peut contenir null et je veux le vérifier avant d'afficher dans mon composant de toile.
Dans mon composant canvas, j'utilise createcomplete pour vérifier si productDetail == null puis faire quelque chose. Mon problème est que si l'utilisateur clique sur le produit avec le détail non nul la première fois, l'instruction "if (productDetail == null) fait quelque chose" ne fonctionnera pas si l'utilisateur clique sur un détail de produit nul parce que le composant canvas a été créé la première fois que l'utilisateur clique sur un détail de produit non nul.
Je veux vérifier si le productDetail == null chaque fois que l'utilisateur clique sur un produit ... J'espère que j'explique bien ma question et apprécie toute aide.
Mon code ..
AS:
protected function changeHandler(event:IndexChangeEvent):void{
compDetailinfoResult.token=getCompList.compDetail(event.target.selectedItem.productId);//get the product detail clicked by the user
}
<s:List dataProvider={productData}/> //when user click a product,
//the canvas will show product detail..
<comp:productDetail productData={compDetailinfoResult.lastResult} //custom property
change="changeHandler"/> //if the product detail is
//null, the statement inside
//the canvas will check via
//creationComplete. but if the
//user click the non-null product,
//the creationComplete check pass. User clicks a null product again,
//the check won't work anymore...
Code
pour mon composant productDetail:
public var productData:arrayCollection
protected function canvas1_creationCompleteHandler(event:FlexEvent):void
{
var undefinedBrand:String=dataFromClick.getItemAt(0).brand;
if(undefinedBrand==null){ // I want to check every time the user click a List item
brand.text="Brand: No Brand";
switchView.enabled=false;
displayPictureBig.source="assets/vacant.jpg";
}
}
<s:Panel>
<label id="brand" text="productDate.getItemAt(0).brand"/>
//I want the brand to be displayed..
//but if brand is null..it will display No Brand..
//see AC above...but createComplete only fire once.
//Anyway to keep tracking if the brand that is sent by List is null?
</s:Panel
Merci pour l'aide ..
Désolé pour la confusion. Je ne colle que du code très basique ici. S'il vous plaît voir le code mis à jour ... – FlyingCat
J'ai les données qui sont envoyées par l'application principale. Le composant productDetail reçoit les données et les affiche. Le détail du produit change en fonction du produit sur lequel l'utilisateur clique dans la liste. Certaines marques de produits sont null et je veux afficher No Brand lorsque l'utilisateur clique sur le produit sans marque ... Merci pour l'aide ...: D – FlyingCat