制作两个Objet以进行加工

时间:2019-01-16 18:38:08

标签: angular typescript jhipster

所以我有两个对象,一个来自我的DTO,另一个来自用户服务。

我想将以前保存的值隐藏到选择中。

但是由于对象不同,所以没有显示值(这就是我的想法)

这是带有数据的对象。

enter image description here

这是select列表中的objets

enter image description here

¿那么我如何将其删除或过滤为mach?

1 个答案:

答案 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);