场景::我有2个API,分别称为docker run --rm -p 8000:8000 amazon/dynamodb-local -jar DynamoDBLocal.jar -help
和customers
,我正在使用显示我的所有workers
及其customers
表格在名为assigned workers
的组件中,如下图所示:
当我单击特定客户的 edit 按钮时,我正在将该特定客户对象(“ Ex Customer 1”)值注入另一个名为 edit(对话框组件),我将在其中显示注入的customers
属性customer
和(name,email)
到表中。如下图所示:
如第二幅图所示,我在 edit 组件内放置了另一个组件(workers-list),该组件将在下拉列表中显示所有工作者:
预期结果:
assigned worker properties(name,email,phone)
组件中将选择的工作人员强行推送到workers-list
组件中的表中,如下所示:图片:edit
从Worker 2
中选择,并通过单击dropdown
按钮添加到edit
组件的表中。
我在
Add
组件中收到emitted workers
,但是我无法验证重复,也无法edit
新员工 >转到push
。
由于组件很多,我给了 stackblitz link 。
答案 0 :(得分:1)
请输入look。 要重新渲染表,您需要创建一个像这样的新数组:
this.customerWorkers = [...this.customerWorkers, ...value];
要跳过空值(而不将其添加到表中),可以对以下主题使用过滤器:
this.dataService.onSelectWokers.pipe(
filter(x => x)
)
此外,您还需要在将工作人员推向服务之前对其进行映射,例如:
const workersMap = this.addForm.value.workerIds;
const workersArray = Object.keys(workersMap).map(x => workersMap[x]);
希望有帮助。