5

Dart を使用していくつかのアプリを作成していますが、簡単な質問が 1 つあります。dart:html ライブラリにプロンプ​​ト ダイアログが見つかりません。アラートと確認のダイアログ呼び出ししか見つかりませんでしたが、それは必要なものではありません。Dart api から他の可能性をいくつか試しましたが、それを行う方法はありません。モーダル ダイアログや Dart 独自のプロンプト ダイアログのようなものがあるべきだと思います。モーダルはここにありますが、ポップアップに別のファイルをロードするだけです。

誰か助けてくれませんか?


更新:実は、1 つの解決策を見つけました。これは、dart:js ライブラリの JavaScript のエミュレーションです。

var password=context.callMethod('prompt',['Password','']);

これは良い解決策ですが、JavaScript をエミュレートするよりも優れた方法があるに違いないと思います。


更新 2: Dart 仕様のプロンプト ダイアログが不十分であるため、ここにあるDart API と Dart ライブラリは Google Code イシュー トラッカーのバグです。仕様でプロンプトが重要であると思われる場合は、バグにスターを付けましょう。現代的な方法でそれを行う方法など、他のアイデアがあります(たとえば、組み込みのモーダルダイアログのようなものを提案することができます)。または、プロンプト/モーダルダイアログの実装も最新のプログラミング言語で行う必要があると思われる場合は、共有してください...


更新 3:現在、Polymer.dart ライブラリにある新しいモーダル アラート、確認、プロンプト ダイアログについて説明しています。これは Google Codeイシュートラッカーの拡張機能です。ダイアログの最新のモーダル フォームが必要な場合は、バグにスターを付けましょう。より良い方法を知っている場合は、議論してください...

4

1 に答える 1

6

これを行うには、js 相互運用機能を使用できます。

import 'dart:js';

main() {
  var result = context.callMethod('prompt', ['Hello from Dart!']);
  print(result);
}

これが dart:html で利用できない理由がわかりません。おそらくバグを報告してください。

理想的には、window.prompt() を使用するのではなく、別の UI コンポーネント ライブラリを使用してこれを行うことができます。これらのようなもの。しかし、まだかなり初期の段階であり、利用可能な優れたライブラリがまだあるかどうかはわかりません。

アップデート:

window.prompt() は、スクリプトの実行をブロックするため、意図的に dart:html から削除されました。

于 2013-11-19T05:09:07.973 に答える