2016-04-05 10 views
-1

では動作していない私は、角度素材v1.0.7デベロッパーで働いていると私は、MD-チップに問題があります。アンギュラ材料MD-チップ:イベントは、MD-見つからないMD-変換チップ

md-chipでは、私はmd-autocomplete(...)を使います。ここに私の状況です: - ユーザーがmd-autocompleteでvaueを入力すると、項目がない場合、ユーザーはEnterを押して新しいチップを作成できます。別の方法として、アイテムがない場合は、「見つからないアイテムはありません。新しいアイテムを追加するにはここをクリックしてください」と表示されます。コントローラでは、ユーザーがテキストをクリックしたときにイベントをキャッチできます。「項目はありません。新しい項目を追加するにはここをクリックしてください。」しかし、私が関数md-transform-chipを呼び出すと(私はユーザのクリックをテキストにする必要があります。「フィットするアイテムはありません。新しいアイテムを追加するにはここをクリックしてください」はEnterキーと同じです)。ここで

codepenさ:

codepen.io/DieuNQ/pen/oxoNVe?editors=1010 

任意のアイデアがありますか?

おかげ

+0

あなたの質問が明確でない瞬間に他人が理解できるように質問してください。 – Rishab777

+0

このコードを開くことができます。テキストボックスにテキストを入力して「Enter」を押すと、新しいチップが作成されます。私はただ欲しい:ユーザーがテキストボックスにテキストを入力し、 "Not found。ここをクリックして追加"ダイアログ - >ユーザーがEnterを押したときに新しいチップを作成する – user1127692

答えて

0

は、ここでは、現在md-not-found要素のクリックでchipを追加するmd-auto-completeを指示する方法を持っていない私たちはmd-auto-completeを利用しているとしてだけで、あなたのために働くかもしれないハックです。

ハック:この指示文では、ウィンドウ上にclickを探して、新しいアイテムをチップとして追加します。

.directive('mdChips', function($timeout) { 
    return { 
    restrict: 'E', 
    require: 'mdChips', // Extends the original mdChips directive 
    link: function(scope, element, attributes, mdChipsCtrl) { 

     var mouseUpActions = []; 

     mdChipsCtrl.onInputBlur = function(event) { 
     this.inputHasFocus = false; 

     mouseUpActions.push((function() { 
      var chipBuffer = this.getChipBuffer(); 
      if (chipBuffer != "") { // REQUIRED, OTHERWISE YOU'D GET A BLANK CHIP 
      this.appendChip(chipBuffer); 
      this.resetChipBuffer(); 
      } 
     }).bind(this)); 
     }; 

     window.addEventListener('click', function(event) { 
     while (mouseUpActions.length > 0) { 
      var action = mouseUpActions.splice(0, 1)[0]; 
      $timeout(function() { 
      $timeout(action); 
      }); 
     } 
     }, false); 
    } 
    } 
}) 

ここにはCodepenがあります。

+0

こんにちは@ Rishab777:ありがとう。出来た。ちょうど1つの問題:テキストボックスに挿入 - >外側をクリック - >テキストにクリックすると、テキストが新しいチップに追加されます。 私は別の解決策を持っています:ユーザーがクリックしてダイアログが見つからないとき、イベントキーを押しますEnter。このソリューションはより良いように見えます。しかし、今日は試しましたが運はありません。しかし、私はそれがうまくいくと思う。 – user1127692

+0

あなたはそれをちょっと変えて必要なことをすることができますか?上記の指示があなたの要求を満たすはずです。質問に回答としてマークを付け、質問を閉じます。 – Rishab777