2017-07-17 17 views
0

flatpickrをangle 1.5.0、es6 env、flatpickrバージョン3.0.6と使用しました。入力イベントをバインドしてflatpickrを開き、カレンダーが開いているときにすぐに閉じますが、タッチパッドを使用して入力をタップし、クリックしないで、うまく動作します。何が問題ですか?Flatpickrを修正する方法

jQueryを使用してイベントをバインドしようとしましたが、結果は同じです。 私のOSはMacです。

マイフラグメント:

import flatpickr from 'flatpickr' 

$scope.showPicker = function() { 
    flatpickr(document.getElementById('date-input'), { 
    locale: zh.zh, 
    onChange: function(selectedDates, dateStr) { 
     $scope.currDay = dateStr 
     $scope.reqDetail($stateParams.gid, dateStr) 
    } 
    }) 
} 

<input 
    ng-model="currDay" 
    readonly="readonly" 
    id="date-input" 
    ng-click="showPicker()" 
> 

私は、公式問題に尋ね、メンテナは、プラグインの自己の問題ではないと述べました。

どうすれば修正できますか?

答えて

0

私は問題は、無限大の時間をrecreateingであった、と私はこの方法で解決し、それを解決:

$scope.fpCache = [] 
$scope.showPicker = function() { 
if($scope.fpCache.length == 0) { 
    const fp = new Flatpickr(document.getElementById('date-input'), { 
    locale: zh.zh, 
    onChange: function(selectedDates, dateStr) { 
     $scope.currDay = dateStr 
     $scope.searchByDate(dateStr) 
    } 
    }) 
    fp.open() 
    $scope.fpCache.push(fp) 
} else { 
    $scope.fpCache[0].open() 
} 
// $('#date-input').flatpickr({}) 
// flatpickr(document.getElementById('date-input'), { 
// locale: zh.zh, 
// onChange: function(selectedDates, dateStr) { 
//  $scope.currDay = dateStr 
//  $scope.searchByDate(dateStr) 
// } 
// }) 
} 

私は単一のインスタンスを作成するために、キャッシュ配列を作成し、それがうまく動作します。

関連する問題