我正在构建一个能够创建议程项目以在会议中讨论的应用程序。议程项目可能包括一个或多个要讨论的附件,因此AgendaItems和AgendaDocs模型之间存在一对多的关系。到目前为止,我有一个插入表单,如下所示:
"选择文件"按钮是一个驱动器选择器,我在onDocumentSelect事件中的代码如下:
var docs = result.docs;
var createDataSource = app.datasources.AgendaDocs.modes.create;
for(var i=0; i<docs.length-1; i++){
var uniqueDraft = createDataSource.item;
createDataSource.items.push(uniqueDraft);
}
for(var i=0; i<createDataSource.items.length-1; i++){
var draft = createDataSource.item;
createDataSource.items[i].DocTitle = docs[i].name;
createDataSource.items[i].DocURL = docs[i].url;
createDataSource.items[i].DriveID = docs[i].id;
}
console.log(createDataSource.items);
代码应该填写&#34;选择文件&#34;下面的List小部件。按钮,但正如你所看到的,这三个项目是相同的。 List小部件的数据源是&#34; AgendaDocs.modes.create&#34;并且插入表单的数据源是&#34; AgendaItems.modes.create&#34;。
从appmaker中读取official documentation让我觉得有可能因为&#34; CreateDataSource&#34;包括&#34; 项目&#34;。我需要专家的帮助。这可能吗?我使用了错误的方法吗?
答案 0 :(得分:3)
首先,您似乎尝试在一次通话中创建来自不同模型的记录以及它们之间的关系...此时App Maker并不是那么聪明地消化这么复杂的一餐。很可能你需要将你的流程分成多个步骤:
类似的流程在Travel Approval模板应用程序中实现,但它与您的不完全相同,因为它不会批量创建关联。
回到最初的问题。是的,可以有多个草稿,但不能使用创建数据源。您正在寻找Manual Save Mode。在完美世界中的某个地方,您的代码看起来与此类似:
async