2

Angular-UISelect を使用して、ドロップダウンの検索を有効にしています。

今、私は挑戦しています。

  1. ユーザーから 3 分の文字を取得し、3 文字に基づいて REST Api をヒットし、API からの結果を UISelect にバインドする、コントローラー レベルのフィルター (アプリではなくコントローラーにスコープ) を作成する必要があります。

手順:

  1. UIselect の初期ロードにはデータがありません。
  2. ユーザータイプ 3 文字
  3. 3 文字で REST API を呼び出すフィルター (コントローラー スコープ) を起動します。
  4. REST API 応答を UISelect にバインドします。

UISelect のデモを見ると、既にバインドされているデータを検索します。

それをどのように進めるかについてのいくつかの入力が必要です。

4

2 に答える 2

1

私はまったく同じ問題を抱えていました。私はこれを見つけました:

http://pastebin.com/dcfE07pg

# UI-SELECT
<ui-select on-select="clearCountries()" ng-model="customer.country_id" theme="bootstrap">
<ui-select-match placeholder="Wpisz minimum 3 znaki...">{{$select.selected.name}}</ui-select-match>
<ui-select-choices refresh="checkCountry($select.search)"  refresh-delay="500" repeat="country.id as country in countries | filter: $select.search">
<div ng-bind-html="country.name | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>

# CONTROLLER FUNCTION
$scope.checkCountry = function(country_name) {
  if (country_name.length >= 3){
    DataFactory.search('countries', country_name, 1, 20).then(function(result) {
      $scope.countries = result.plain()
    })
  }
}
于 2014-11-21T12:21:17.840 に答える