title: TextField's text does not update after changing its controller's text in onChanged field
body: <p>I have a textfield with a controller. What I want to do is change the input characters as they are being received. But what happens is that it replaces the first entered character, but then, the controller's text does not update on changes afterwards. Actually, nothing happens when you press a key.</p>
  <p>here is my textfield:</p>
  <pre><code>TextEditingController amountController = TextEditingController();
  TextField(
    controller: amountController,
    onChanged: (value) {
    amountController.text = replaceFarsiNumber(value);
    },
  )
  </code></pre>
  <p>Here is the replaceFarsiNumber() function for further information:</p>
  <pre><code>String replaceFarsiNumber(String input) {
    const english = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9'];
    const farsi = ['۰', '۱', '۲', '۳', '۴', '۵', '۶', '۷', '۸', '۹'];
    for (int i = 0; i &lt; english.length; i++) {
      input = input.replaceAll(english[i], farsi[i]);
    }
    return input;
  }
  </code></pre>