所以我有两个对象,一个来自我的DTO,另一个来自用户服务。
我想将以前保存的值隐藏到选择中。
但是由于对象不同,所以没有显示值(这就是我的想法)
这是带有数据的对象。
这是select列表中的objets
¿那么我如何将其删除或过滤为mach?
答案 0 :(得分:0)
由于做错了,JHipster在DTO中生成了一个long usuarioId,然后在Angular端中,他们获取了所有Users并比较了ID,当我保存实体时,我使用登录时使用的UserService查找得到了用户对象。
所以这是它的工作方式,我认为也许有些人会找到帮助
ManyToMany关系中的第一名
@ManyToOne
@JsonIgnoreProperties("")
private User coordinador;
public User getCoordinador() {
return coordinador;
}
public ExtendedUser coordinador(User user) {
this.coordinador = user;
return this;
}
public void setCoordinador(User user) {
this.coordinador = user;
}
在DTO中
private Long coordinadorId;
private String coordinadorLogin;
public Long getCoordinadorId() {
return coordinadorId;
}
public void setCoordinadorId(Long userId) {
this.coordinadorId = userId;
}
public String getCoordinadorLogin() {
return coordinadorLogin;
}
public void setCoordinadorLogin(String userLogin) {
this.coordinadorLogin = userLogin;
}
在倾斜的一面,它就是component.html的外观
<div class="form-group">
<label class="form-control-label" jhiTranslate="sigemApp.extendedUser.coordinador" for="field_coordinador">Coordinador</label>
<select class="form-control" id="field_coordinador" name="coordinador" [(ngModel)]="extendedUser.coordinadorLogin" >
<option [ngValue]="null"></option>
<option [ngValue]="userOption.login" *ngFor="let userOption of users; trackBy: trackUserById">{{userOption.login}}</option>
</select></div>
最后在component.ts
users: IUser[];
this.userService.query().subscribe(
(res: HttpResponse<IUser[]>) => {
this.users = res.body;
},
(res: HttpErrorResponse) => this.onError(res.message)
);
trackUserById(index: number, item: IUser) {
return item.login;
}
getSelected(selectedVals: Array<any>, option: any) {
if (selectedVals) {
for (let i = 0; i < selectedVals.length; i++) {
if (option.id === selectedVals[i].id) {
return selectedVals[i];
}
}
}
return option;
}
要保存它,我使用userService获取User用户对象,因此在User服务中
Optional<User> coordinador = userRepository.findOneByLogin(extendedUserDTO.getCoordinadorLogin());
updateExtendedUser.setCoordinador(coordinador.get());
extendedUserService.save(updateExtendedUser);