Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何将select(下拉)元素从后端以角度形式放置_Angular_Rest_Angular Formly_Ngx Formly_Angular Dragdrop - Fatal编程技术网

Angular 如何将select(下拉)元素从后端以角度形式放置

Angular 如何将select(下拉)元素从后端以角度形式放置,angular,rest,angular-formly,ngx-formly,angular-dragdrop,Angular,Rest,Angular Formly,Ngx Formly,Angular Dragdrop,我对angular Formy是新手。我的要求是将城市(来自后端)放在下拉列表中,但我已经尝试过了,但我无法做到这一点 .service.ts getcitiNames():可观察{ 返回this.http.get(this.baseUrl+'/api/data/xxx/city/getcity'); } 从上面的API中,我必须获取下拉列表元素并将其放置在select下拉列表中 .ts { 键:“选择”, 键入:“选择”, className:“选择是”, 模板选项:{ 标签:“状态”, 选

我对angular Formy是新手。我的要求是将城市(来自后端)放在下拉列表中,但我已经尝试过了,但我无法做到这一点

.service.ts

getcitiNames():可观察{
返回this.http.get(this.baseUrl+'/api/data/xxx/city/getcity');
}
从上面的API中,我必须获取下拉列表元素并将其放置在select下拉列表中

.ts

{
键:“选择”,
键入:“选择”,
className:“选择是”,
模板选项:{
标签:“状态”,
选项:[
{value:1,标签:'data1'},
{value:2,标签:'data2'},
{值:3,标签:'data3'}
],
},
},

有人能帮我解决这个问题吗

让我们假设您的API返回的是一个
字符串[]
,其中包含要在下拉列表中填充的值。从角度分量中,必须构造
FormlyFields[]
以准备表单

我建议您为推送到
字段[]
的每个
字段
对象维护一个唯一的
。这将帮助您识别哪个元素是哪个元素,并相应地填充数据

{
关键:“国家”,
键入:“选择”,
className:“选择是”,
模板选项:{
标签:“状态”,
选项:[
{value:1,标签:'data1'},
{value:2,标签:'data2'},
{值:3,标签:'data3'}
],
},
}
订阅具有下拉列表值的
API

yourApi().subscribe((响应:any)=>{
const fieldToPopulate=this.fields.find(f=>f.key==='countries');
//假设响应的值如下:[‘意大利’、‘法国’]
答复.forEach(国家=>{
//理想情况下,如果API返回字典,“value”也将是动态的
fieldToPopulate.templateOptions.options.push(值:1,国家/地区);
});
});

谢谢@Hariharan,所以在我订阅了API(我会得到响应)之后,我的要求是如何在angular Formy中填充select下拉列表。你能编辑ts代码吗?这样对我会更有帮助