如何在 Dart 中写入时处理用户输入

How to process user input as it writes in Dart

我正在尝试使用 Dart 和 HTML 构建网络应用程序。我有一个 HTML 输入字段 接收类型文本。我想处理用户输入的文本,因为它输入每个字母,而不仅仅是当它点击 ENTER 或类似的东西时。

我目前在 Dart 中提出了这个解决方案,但它只在按下 ENTER 时打印用户输入,这不是我所说的。

import 'dart:html';

    void main() {
      TextInputElement text = querySelector("#input-text");
      text.autocomplete = "asas";
      text.onChange.listen((data) {
        parent.appendHtml('<p>${text.value}</p>');
      });
    }

我查找了一些主题,例如 Futures、Streams 和 Broadcast streams,但它看起来不像我仍然需要的。 如果有人能提供帮助那就太好了!

Onchange 只会以这种方式工作,因为它会监听提交事件。 您可以做的是监听输入字段 .onKeyUp 事件。

如果您在输入字段中键入并松开按键,则每次都会注册此事件并调用侦听器

https://dartpad.dartlang.org/02e27326c073de360f14bb9a9726f1c9

您可以在输入内容时在 dart 上看到此示例。

此处也可以使用 onKeyPress 上的 onKeyDown,但问题是如果用户按住该键,它将注册所有这些事件,创建 n 个事件