如何在线获取用户在 dartpad 上的输入?

How to get user input on dartpad online?

如何在 dartpad 的控制台中获取用户输入?

每当我写

import 'dart:io';
void main() {
  stdout.write("What's your name? ");
  var name = stdin.readLineSync();
  print("Hi, $name!");
}

但是我在控制台 window 中遇到了这样的异常

Uncaught exception:
Unsupported operation: StdIOUtils._getStdioOutputStream

如 DartPad 手册所述:https://dart.dev/tools/dartpad

DartPad supports dart:* libraries that work with web apps; it doesn’t support dart:io or libraries from packages. If you want to use dart:io, use the Dart SDK instead. If you want to use a package, get the SDK for a platform that the package supports.

因此您不能使用 stdin/stdout,因为它来自 dart:io 库。

要解决您的问题,您可以在 DartPad 页面底部启用 "Show web content"。在这里,您可以将 HTML 代码添加到您的项目中,并使用例如一个按钮。在您的 Dart 代码中添加一些逻辑,监听按钮并读取文本字段的值。

遗憾的是,您不能使用 dart:io 等包中的库,因为 DartPad 只支持与网络应用程序一起使用的库。

要使用这些库:

  1. 您可以下载SDK

  1. 检查以下 link 到 运行 您在 VScode 上的代码: