我正在尝试使用 Dart 和 HTML 构建一个 Web 应用程序。我有一个 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 个事件
关于dart - 如何在 Dart 中写入时处理用户输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56079516/