我有以下值:
campaign_sms_templates = [11,22];
和
templateSMSList = [
{"id":11, "name":"test"},
{"id":12, "name":"test 12"},
{"id":22, "name":"test 22"}
];
角度代码如下:
<select multiple="multiple"
ng-model="campaign_sms_templates"
ng-options="value as value.name for value in templateSMSList track by value.id">
</select>
但是在渲染时未选择值。当我使用以下方式更改campaign_sms_templates
参数值时:
campaign_sms_templates = [ {"id":11}, {"id":22} ];
它与对象匹配并在渲染时显示选定的值。
任何人都可以帮忙,如何使用这些值来呈现选定的选项:
campaign_sms_templates = [11,22];
请让我知道是否还有任何需要澄清的地方。
答案 0 :(得分:0)
在花了很多时间之后,现在我终于解决了这个问题
public object ChooseProperty((FooItem item,string property)pair){
PropertyInfo prop=pair.item.GetType().GetProperty(pair.property);
object value=prop.GetValue(item);
return value;
}
这似乎不是一个好习惯,但是因为我只想将id保存在数据库文档中,所以我这样做了。
欢迎任何反馈。
答案 1 :(得分:0)
使用value.id as value.name for value
:
<select multiple="multiple"
ng-model="campaign_sms_templates"
ng-options="value.id as value.name for value in templateSMSList">
</select>
也不必使用track by expression
,因为它会破坏指令。
有关更多信息,请参见