How to send a text to an input from a button

I want to send a text to an input from a button, but I get an error that says: Cannot read property ‘updateOn’ is null.
This ir for .html

<ion-content padding>
    <form [formGroup]="todo" (ngSubmit)="logForm()">
        <ion-item>
          <ion-label>Todo</ion-label>
          <ion-input type="text" formControlName="title"></ion-input>
        </ion-item>
        <ion-item>
          <ion-label>Description</ion-label>
          <ion-textarea formControlName="description">...</ion-textarea>
        </ion-item>
        <button ion-button type="submit" (click)="envio()">ok</button>
      </form>
</ion-content>

this is for .ts

import { Component } from '@angular/core';
import { IonicPage, NavController, NavParams } from 'ionic-angular';
import { FormBuilder, FormGroup, FormControl, Validators } from '@angular/forms';

@IonicPage()
@Component({
  selector: 'page-prueba2',
  templateUrl: 'prueba2.html',
})
export class Prueba2Page {

  //constructor(public navCtrl: NavController, public navParams: NavParams) {}

  ionViewDidLoad() {
    console.log('ionViewDidLoad Prueba2Page');
  }


  private todo : FormGroup;

  constructor(private formBuilder: FormBuilder ) {
    this.todo = this.formBuilder.group({
      title: [''],
      description: [''],
    });
  }

  logForm(){
    console.log(this.todo.value)
  }

  envio(){
    this.todo = this.formBuilder.group({
      description: new FormControl('Holis', [Validators.required]),
    }, { updateOn: 'blur' });
  }
}

which button to which input.value?
Be clear please, I hate play puzzle

I am facing the same issue after call http.get<string>(url, { headers: headers }) twice. Did you solve that? How?

VM256 ion-dev.js:157 ERROR TypeError: Cannot read property 'updateOn' of null
    at VM260 vendor.js:23961
    at Array.forEach (<anonymous>)
    at syncPendingControls (VM260 vendor.js:23959)
    at FormGroupDirective.onSubmit (VM260 vendor.js:28244)
    at Object.eval [as handleEvent] (VM350 InstrutoresPagamentosCadastroPage.ngfactory.js:544)
    at Object.handleEvent (VM260 vendor.js:13963)
    at Object.handleEvent (VM260 vendor.js:14695)
    at dispatchEvent (VM260 vendor.js:10378)
    at VM260 vendor.js:11003
    at HTMLFormElement.<anonymous> (VM260 vendor.js:47482)
(anonymous) @ VM256 ion-dev.js:157
defaultErrorLogger @ VM260 vendor.js:1823
ErrorHandler.handleError @ VM260 vendor.js:1884
IonicErrorHandler.handleError @ VM260 vendor.js:162090
dispatchEvent @ VM260 vendor.js:10382
(anonymous) @ VM260 vendor.js:11003
(anonymous) @ VM260 vendor.js:47482
t.invokeTask @ VM259 polyfills.js:3
onInvokeTask @ VM260 vendor.js:5125
t.invokeTask @ VM259 polyfills.js:3
r.runTask @ VM259 polyfills.js:3
e.invokeTask @ VM259 polyfills.js:3
p @ VM259 polyfills.js:2
v @ VM259 polyfills.js:2