2016-06-21 4 views
0

角材設計を使用しています。私は、用語のオートコンプリートセットを含むフィールドを持っています。このリストは、APIコールを介して取り込まれます。角材設計 - オートコンプリートを使用した新しいチップの作成

しかし、ユーザーが新しいタイトル(チップ)を作成することを決めた場合は、md-transform-chip = "vm.transformChip($ chip)"を使用しています。

新しいチップが見つかると、api呼び出しでジョブタイトルを作成し、応答を返して新しいチップにしたいと考えています。

しかし、私が知っていることは、私がapi呼び出しを行い、成功コールバックでチップを返すと、それは常に空のチップです。私がapi呼び出しを行わずに新しいチップを返すだけであれば、正しく表示されます。

Ex。それは働いていない:

function transformChip(chip) { 
    // If it is an object, it's already a known chip 
    if (angular.isObject(chip)) { 
    return chip; 
    } 

    api.jobTitles.create.save({'site_id': vm.site_id}, { name: chip }, 
    // Success 
    function (response) { 
     vm.jobTitles.push(response); 
     return { name: response.name, _id: response._id}       
    }, 

    // Error 
    function (response) { 
    } 
); 
} 

Ex。それが機能するAngular Material Designのサイトから引き出されています。

function transformChip(chip) { 
    // If it is an object, it's already a known chip 
    if (angular.isObject(chip)) { 
    return chip; 
    } 

    return { name: chip, type: 'new' } 
} 

私の目標は、フォームの送信前に新しいチップを作成し、先行入力のためのチップを持っていますjobtitlesの配列、そのように、すべての新しい提出、に新しいチップを追加することです。

ありがとうございました。

答えて

0

新しいジョブのタイトルをプッシュした後、のリターンヌルを返すだけです。 リクエストが終了するまで何も表示されないため、リクエストが終了するまで入力を無効にすることができます。私は、要求が終了し、要素が正常にスコープにプッシュされるまで、入力を無効にしたいと考えています。

あなたがしますSE

https://material.angularjs.org/latest/api/directive/mdChips

そのドキュメンテーションの属性テーブルをチェックします
関連する問題