制作两个要处理的对象
Make two Objets to mach
所以我有两个对象,一个来自我的 DTO,另一个来自用户服务。
我想将以前保存的值隐藏到 select。
但是因为对象不同没有显示值(这就是我的想法)
这是带有数据的对象。
这是 select
列表中的对象
¿那么如何删除或过滤它以进行处理?
做错了 JHipster 在 DTO 中生成一个 Long usuarioId 然后在 Angular 端他们得到所有用户并在我保存实体时比较 id 我使用 UserService 通过登录找到用户对象.
这就是它的工作方式 我想也许有些人会觉得有用
多对多关系中的第一个
@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;
}
在angular这边是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 获取用户用户对象
Optional<User> coordinador = userRepository.findOneByLogin(extendedUserDTO.getCoordinadorLogin());
updateExtendedUser.setCoordinador(coordinador.get());
extendedUserService.save(updateExtendedUser);
所以我有两个对象,一个来自我的 DTO,另一个来自用户服务。
我想将以前保存的值隐藏到 select。
但是因为对象不同没有显示值(这就是我的想法)
这是带有数据的对象。
这是 select
列表中的对象¿那么如何删除或过滤它以进行处理?
做错了 JHipster 在 DTO 中生成一个 Long usuarioId 然后在 Angular 端他们得到所有用户并在我保存实体时比较 id 我使用 UserService 通过登录找到用户对象.
这就是它的工作方式 我想也许有些人会觉得有用
多对多关系中的第一个
@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;
}
在angular这边是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 获取用户用户对象
Optional<User> coordinador = userRepository.findOneByLogin(extendedUserDTO.getCoordinadorLogin());
updateExtendedUser.setCoordinador(coordinador.get());
extendedUserService.save(updateExtendedUser);