gpt4 book ai didi

dart - DART将参数传递给SelectElement/OptionElement

转载 作者:行者123 更新时间:2023-12-03 03:46:05 25 4
gpt4 key购买 nike

我在DART中将此作为OptionElement进行了设置,这很好:

   var source = new SelectElement()
..children.add(new OptionElement(value: 'vCode', data:'myVendor Name'));

我想将我的供应商列表作为从服务器上的回叫,然后将其放在选择选项中,以便用户可以选择供应商代码/名称,我从服务器返回的Map为 {"code":"vCode","name":"myVendor Name"},并希望使用循环,我尝试了以下操作,但没有成功:

var vendor = <Map>[];   

for(int i=0;i<=number_of_vendors;i++){
var source = new SelectElement()
..children.add(new OptionElement(value: vendor[i]['code'], data: vendor[i]['name']));
}

可以吗
谢谢

最佳答案

这行不通

var source = new SelectElement()
..children.add(new OptionElement(value: "$vendor['code']", data:"$vendor['name']"));

你可以做

var source = new SelectElement()
..children.add(new OptionElement(value:vendor ['code'],data:vendor ['name']));;

如果 vendor['code']vendor['name']返回字符串或

var source = new SelectElement()
..children.add(new OptionElement(value:“$ {vendor ['code']}”,data:“$ {vendor ['name']}”)));;

$之后是一个简单的标识符时,您可以忽略花括号,如果它是一个表达式,则需要添加它们。

更新-@Hasan A Yousef提供的实际使用的代码

下面的代码应该可以正常工作。

   var vendors = <Map>[];

然后

       vendors=[{"code":"vCode1","name":"myVendor Name1"},{"code":"vCode2","name":"myVendor Name2"}];

要么

       vendors.add({"code":"vCode 1","name":"vName 1"}); 
vendors.add({"code":"vCode 2","name":"vName 2"});
vendors.add({"code":"vCode 3","name":"vName 3"});
vendors.add({"code":"vCode 4","name":"vName 4"});

其次是:

   for(int i=0;i<vendors.length;i++){
source..children.add(new OptionElement(value: vendors[i]['code'], data: vendors[i]['name']));
}

或通过:

  for(Map vendor in vendors){
source..children.add(new OptionElement(value: vendor['code'], data: vendor['name']));
}

关于dart - DART将参数传递给SelectElement/OptionElement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25711498/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com