2013-06-21 49 views
0

在工具欄類LIB/tool_bar.dart的我該怎麼做才能防止一個元素髮生變化以觸發其他元素的變化?

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

https://github.com/dzenanr/magic_boxes有兩個元件

InputElement itemNameInput;

SelectElement itemCategorySelect;

itemNameInput.onChange.listen((事件e){

itemCategorySelect.onChange.listen((事件e){

在itemCategorySelect改變觸發itemNameInput變化!?此變化的使用複雜化?的工具

我該怎麼辦,以防止一個元素的改變來觸發其他元素的變化

在工具,它爲選定的概念進入了一個新的屬性時發生的情況:

通過在屬性字段中輸入名稱,可以將新屬性添加到選定概念。使用Enter鍵在概念的屬性中查看名稱。 如果你想使用那些提出了不同的特點, 先改變他們,然後在屬性字段中輸入一個名稱(我想避免這種情況。)

問題: 如果先輸入屬性名稱,而不使用輸入密鑰,然後至少改變其一個特徵(例如,屬性類別),該名稱在該概念的屬性中出現 ,但沒有改變的特徵。 然後,您必須選擇它(通過再次輸入其名稱)才能應用更改。

回答

1

我已經找到了有效的解決方案:

變化

itemNameInput.onChange.listen((事件e){

itemNameInput.onKeyPress.listen((的KeyboardEvent E) {

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

這樣一個屬性名稱出現在第只有在Enter鍵被按下後,e概念的屬性纔會生效。

但是,在Dart API文檔中,我發現KeyboardEvent已被棄用。

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

「注:的KeyboardEvent接口已被棄用DOM級別3有利於新的TextInput接口和相應的textInput事件,其具有改善的對交替輸入方法的支持」

我還沒有找到TextInput接口和textinput事件!?

相關問題