I want to edit and show value in form when user editing please help me how to show value in angular.
edit-blog.component.ts
import { Component, OnInit } from '@angular/core';
import { Blog } from '../_models/blog';
import { UserService } from '../_services';
import { User } from '../_models'
import { Router } from '@angular/router';
import { AuthenticationServiceService } from '../_services';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { first } from 'rxjs/operators';
@Component({
selector: 'app-edit-blog',
templateUrl: './edit-blog.component.html',
styleUrls: ['./edit-blog.component.css']
})
export class EditBlogComponent implements OnInit {
editBlogForm: FormGroup;
users: User[] = [];
submitted = false;
constructor(private router: Router,
private formBuilder: FormBuilder,
private authenticationService: AuthenticationServiceService,
private userService: UserService) { }
get f() { return this.editBlogForm.controls; }
ngOnInit() {
this.editBlogForm = this.formBuilder.group({
title: [this.users, Validators.required],
blog: [this.users, Validators.required],
});
}
//get f() { return this.editBlogForm.controls; }
editUserBlog(id:number) {
this.userService.editUserBlog(id).pipe(first()).subscribe(users => {
users = users;
console.log(users);
});
}
onSubmit(user: User) {
this.userService.update(user).subscribe(user => {
user = user;
});
}
}
And below is my edit-blog.componet.html i want to show value in this form plase help how to show value.
edit-blog.component.html
<div>
<div class="container">
<div class="row">
<div class="col-sm-3">
</div>
<div class="col-sm-6" style="margin-top: 60px">
<h2>Update your blog here..</h2>
<form [formGroup]="editBlogForm" (ngSubmit)="onSubmit()">
<div class="form-group">
<input type="text" [(ngModel)]="users.title" formControlName="title" class="input" [ngClass]="{ 'is-invalid': submitted && f.title.errors }"
placeholder="Title" />
<div *ngIf="submitted && f.title.errors" class="invalid-feedback">
<div *ngIf="f.title.errors.required">Title is required</div>
</div>
</div>
<div class="form-group">
<app-ngx-editor type="text" formControlName="blog" height="250px" minHeight="50px" class=""
[placeholder]="'Enter text here...'" [spellcheck]="true" [ngClass]="htmlContent"></app-ngx-editor>
<div *ngIf="submitted && f.blog.errors" class="invalid-feedback">
<div *ngIf="f.blog.errors.required">Blog is required</div>
</div>
</div>
<div class="form-group">
<button class="btn btn-primary">Update</button>
</div>
</form>
</div>
<div class="col-sm-3">
</div>
</div>
</div>
</div>
i do not get value when editing the form please help me how to show the value .thnk you in advance.
usersvariable is an array. And you are trying to use it as an object.