我有一个表单,该表单从API获取数据(输入值,选择值,该用户之前已完成)。我尝试为此表格做“编辑”功能。用户可以更改表格并将其发送回。问题是我只需要从输入字段发送ID,但是angular会发送“ ID +名称”数据。第二个问题是,当用户单击“提交”按钮时,我需要更改“状态ID”。
我尝试更改ng-model,但这没有帮助。
API数据
{
status: { id: '123', name: 'new'},
name: 'some_cool_name',
section: { id: '741', name: 'sectionName';
presentaion: { id: '365', name: 'some_words'}
}
服务
Object.assign(this, { getAllAwards() {
return http.get('myAPI')}.then({ data }) => return data;
}}
控制器
$scope.allAwards = awards_service.getAllAwards().then((result) => {
$scope.awards = result;
});
查看
<form ng-repeat="awardDraft in awards">
<input type="text" name="name" ng-model="awardDraft.name">
<select name="section" ng-model="awardDraft.section.id"
ng-options="object.id as object.name for object in sections">
</select>
<input type="text" name="presentation" ng-model="awardDraft.presentation">
</form>
表单中的期望数据
{
status: 'someID',
name: 'someName',
section: 'sectionID',
presentaion: 'presentName',
}
我从表格中得到的信息
{
status: { id: 'XXX', name: 'someStatus' },
name: 'someName',
section: { id: 'YYY', name: 'sectionName' }
presentaion: { id: 'ZZZ', name: 'presentName'}
}
在这种情况下,我不了解ng-model的工作原理,因为如果我从通常的形式发送数据,而没有加载API,则可以正常工作。如何定义从特定输入和ng-model发送的内容?