Как использовать значение компонентов форм, которые неизменны с помощью ngModel? - PullRequest
0 голосов
/ 28 марта 2019

Я делаю форму и хочу использовать предыдущие значения в качестве «значения» в форме и с помощью ngModel динамически изменять некоторые свойства, но поле, которое не изменяется пользователем, свойство не сохраняет предыдущее значениечётный.

<form #edit="ngForm" (submit)="editProfile(edit.value)">
                <fieldset>
                    <div class="form-group">
                        <label for="username">Username : </label>&nbsp;&nbsp;@{{user.username}}
                    </div>
                    <div class="form-group">
                        <label for="name">Name :</label>&nbsp;&nbsp;@{{user.name}}
                        <input type="text" name="edit_name" class="form-control" id="name" value={{user.name}} ngModel>
                    </div>
                    <div class="form-group">
                        <label for="email">Email :</label>&nbsp;&nbsp;{{user.email}}
                        <input type="text" name="edit_email" class="form-control" id="email" value={{user.email}} ngModel>
                    </div>
                    <div class="form-group">
                        <label for="bio">Bio :</label>&nbsp;&nbsp;{{edit_bio}}
                        <input type="text" name="edit_bio" class="form-control" id="bio" value="Put who you are here!" ngModel>
                    </div>
                    <div class="form-group">
                        <label for="gender">Gender</label>
                        <select class="form-control" id="gender" name="edit_gender"  ngModel>
                                <option>Male</option>
                                <option>Female</option>
                                <option>Others</option>
                    </select>
                    </div>
                    <button type="submit" class="btn btn-primary">Submit</button>

                </fieldset>
            </form>

В файле TypeScript

  edit_name:String='';
  edit_email:String='';
  edit_bio:String='';
  edit_gender:String='';
  user:any={};

ngOnit(){
    this.authService.getuser()
            .subscribe(data=>{
                   this.user=data;
                  }
this.initiateUpdateProfile();
}

initiateUpdateProfile(){
  this.edit_name=this.user.name;
  this.edit_email=this.user.email;
  this.edit_bio='Something you want to tell the world';
  this.edit_gender='Male';
}


  editProfile(e){
console.log(e);

}

Все работает гладко но когда яотправка формы, даже не касаясь элементов формы, чем edit.value даже не сохраняет предыдущие значения, все, что он регистрирует - это пустые значения.

1 Ответ

0 голосов
/ 28 марта 2019
                    <div class="form-group">
                        <label for="name">Name :</label>&nbsp;&nbsp;@{{user.name}}
                        <input type="text" name="edit_name" class="form-control" id="name" [(ngModel)]="edit_name" value={{user.name}}>
                    </div>
...