5

select2 のようなテーマのドロップダウンにui-select ( https://github.com/angular-ui/ui-select ) を使用しています。この機能は主に、デフォルトのプレースホルダーという 1 つの側面から離れて機能しています。

コードは主に ui-select デモに従います (このページの 3 番目の例: http://plnkr.co/edit/a3KlK8dKH3wwiiksDSn2?p=preview )。

私に関する限り、デフォルトのテキストは「プレースホルダー」属性のテキストでなければなりません。代わりに、オプションを選択するまで空白で表示されます。この問題に対処するために、Angular コントローラーで ui-select-match の値を設定するというハックを使用してきましたが、これは完璧にはほど遠いものであり、明らかに使用方法ではありません。

<ui-select data-ng-model="producttype.selected" theme="select2" name="product-type">
    <ui-select-match placeholder="Select a product type">
        {{$select.selected.title}}
    </ui-select-match>
    <ui-select-choices repeat="producttype in productTypeOptions | filter: $select.search">
        <span ng-bind-html="producttype.title | highlight: $select.search"></span>
    </ui-select-choices>                                               
</ui-select>

誰かが以前にこの問題に遭遇したことがありますか、または私たちが間違っていることについて何か考えがありますか?

4

7 に答える 7

3

検索を無効にすると、選択がない場合でもプレースホルダーが非表示になります。

プレースホルダーのスパン要素:

<span ng-show="$select.searchEnabled && $select.isEmpty()" class="select2-chosen ng-binding ng-hide">My Placeholder</span>

テンプレート .js ファイルの「$select.searchEnabled &&」を削除すると、プレースホルダーが再び表示されます。

github の hthabet で見られるように

于 2015-01-14T11:57:00.717 に答える
0

検索項目が閉じている場合、またはバインド要素が空の場合、Ui 選択は機能しません。css display:block プレースホルダー項目を追加する最も速い方法です。

.select2-chosen{
   display: block !important;
}

または、ui-select.js を編集できます。

于 2017-02-01T07:12:07.253 に答える