0

lib/tool_bar.dart の ToolBar クラスで

https://github.com/dzenanr/magic_boxes/blob/master/lib/tool_bar.dart

https://github.com/dzenanr/magic_boxesには 2 つの要素があります

InputElement itemNameInput;

SelectElement itemCategorySelect;

itemNameInput.onChange.listen((Event e) {

itemCategorySelect.onChange.listen((Event e) {

itemCategorySelect の変更は、itemNameInput の変更をトリガーします!? この変更により、ツールの使用が複雑になります。

ある要素の変更が他の要素の変更を引き起こすのを防ぐにはどうすればよいですか?

ツールでは、選択した概念の新しい属性を入力すると発生します。

属性フィールドに名前を入力すると、選択した概念に新しい属性を追加できます。Enter キーを使用して、コンセプトの属性の名前を確認します。提案されたものとは異なる特性を使用する場合は、まずそれらを変更してから、属性フィールドに名前を入力します (これは避けたいです)。

問題: 最初に Enter キーを使用せずに属性名を入力し、その特性 (属性カテゴリなど) の少なくとも 1 つを変更すると、概念の属性に名前が表示されますが、特性は変更されません。次に、変更を適用するために、(名前を再度入力して) それを選択する必要があります。

4

1 に答える 1

1

私は実用的な解決策を見つけました:

変化する

itemNameInput.onChange.listen((Event e) {

itemNameInput.onKeyPress.listen((KeyboardEvent e) {

  if (e.keyCode != 13) return; // 13 is Enter key

このようにして、属性名は、Enter キーが押された後にのみ概念の属性に表示されます。

ただし、Dart API のドキュメントでは、KeyboardEvent が非推奨であることがわかりました。

http://api.dartlang.org/docs/releases/latest/dart_html/KeyboardEvent.html

「注: KeyboardEvent インターフェイスは DOM レベル 3 で非推奨になり、代替入力メソッドのサポートが改善された新しい TextInput インターフェイスと対応する textinput イベントが優先されます。」

TextInput インターフェイスも textinput イベントも見つかりません!?

于 2013-06-22T16:16:32.830 に答える