2016-06-02 16 views
1

私は角材質からmd-autocompleteを使用しています:here角度素材 - MD-オートコンプリートのドロップダウンの幅

ドロップダウンの幅は、入力フィールドの幅で行くようです。アイテムのテキストが長すぎる場合は、ellipsisです。

しかし、入力フィールドの幅を比較的短く保ちながら、アイテムの全文を表示したいとします。つまり、ドロップダウンの幅は内容とともに拡大するはずです。

md-autocompleteの要素のスタイルを検査しようとしましたが、そのトリックを行うスタイルは見つかりませんでした。何か案が?

EDIT:

.md-autocomplete-suggestions-container{ 
    overflow-y:scroll 
} 

.md-autocomplete-suggestions-container .md-virtual-repeat-scroller{ 
    position:static 
} 

.md-autocomplete-suggestions-container .md-virtual-repeat-sizer{ 
    height:0 !important 
} 

.md-autocomplete-suggestions-container .md-virtual-repeat-offsetter{ 
    position:static 
} 

しかしもう一つの問題があります:

は、ここで私がなってしまったスタイルです。 overflow-y:scrollは、不要な場合でも常に垂直スクロールバーを表示します。 overflow-y:autoに変更すると、垂直スクロールバーが表示されているときにellipsisが作成されます。これをどうすれば解決できますか?

+0

1.0.9でテスト? –

答えて

1

CSSを使用してmd-virtual-repeat-containerのスタイルを付けることができます。

しかし、それはあなたがあなたのサイト(すなわち、md-autocompletemd-virtual-repeat)に及ぼし得るmd-virtual-repeat-containerすべてのインスタンスのスタイルを設定します。

残念ながら、個々のmd-autocompleteドロップダウンを調整するオプションはありません。この問題を解決するためにticket and pull requestを作成しました。指先が交差して、これが角度材料の将来のリリースの1つに含まれることになります。

運が良かった!

+0

ありがとうございます。元の質問に私の編集を見てください。私は今別の問題があります。 – Shawn

+0

'md-virtual-repeat-container'に対して' width'と 'max-width'を調整できますが、すべての子要素が' position:absolute'に設定されているので、自動的に結果リストに調整されません。最も簡単なことは 'width'と' max-width'を望ましいパーセンテージに設定し、 'left'を調整して結果を中央に置くことです。私は特定の方法を見て作業するために具体的に書かれているので、子要素の残りの部分にCSSをオーバーライドすることをお勧めしません。 フルカスタマイズが必要な場合は、独自のカスタムディレクティブを作成して、探しているものを正確に取得することをおすすめします。 –

3

md-autocomplete要素にクラスを設定して、CSSでターゲティングできるようにする必要があります。この例に

<md-autocomplete class="autocompletable" 
       md-min-length="0" 
       ... 
       placeholder="US State?" 
       md-menu-class="autocompletable-contents"> 
       <md-item-template> 
       <table> 
        <tr> 
         <td><span md-highlight-text="ctrl.searchText" 
          md-highlight-flags="^i">{{item.ok}}</span> 
         </td><td>Foo</td> 
        </tr> 
       </table> 
       </md-item-template> 
       <md-not-found> 
       No states matching "{{ctrl.searchText}}" were found. 
       <a ng-click="ctrl.newState(ctrl.searchText)">Create a new one!</a> 
       </md-not-found> 
      </md-autocomplete> 

を参照してください。そして、CSSであなたはこの

md-autocomplete.autocompletable{ width: 200px; } 
    .autocompletable-contents{ } 

EDITSを実行する必要があります。あなたはPlunkr上のコードを共有することができます材料

関連する問題