Как обеспечить равные поля с помощью Angular Material? (md-grid-list md-grid-tile md-rowspan)

Вот пример на Codepen.

Я устанавливаю md-row-height="30px", а затем вычисляю md-rowspan так, чтобы оно равнялось количеству элементов + 1. (плюс один для заголовка)

<md-grid-list  md-cols="1" md-cols-gt-md="3" md-cols-gt-sm="2" md-row-height="30px" md-gutter="5px">
  <md-grid-tile ng-class="tile.className" ng-repeat="tile in vm.tiles" md-rowspan="{{1 + (tile.subItems.length)}}">

    <div layout="column" layout-align="start center">
       <h3>{{ tile.title }}</h3>
       <div ng-repeat="item in tile.subItems">
         {{ item.title }}
       </div>
    </div>

  </md-grid-tile>
</md-grid-list>

Поля не равны: введите здесь описание изображения

При проверке DOM я вижу множество вычислений: введите здесь описание изображения

Я попробовал другой подход, используя layout="row" - codepen.io, но плитки имеют одинаковую высоту (они не заполняют пространство эффективно)


В целом, я думаю, что я довольно близок, мне просто нужно убедиться, что каждая плитка имеет одинаковые поля, независимо от количества элементов, которые находятся внутри.


person Mars Robertson    schedule 19.10.2016    source источник


Ответы (1)


Используйте layout-fillCodePen

Разметка

<div layout="column" layout-align="start center" layout-fill>
   <h3 class="height30">{{ tile.title }}</h3>
   <div class="height30" ng-repeat="item in tile.subItems">
     {{ item.title }}
   </div>
</div>

Из документов:

введите описание изображения здесь

person camden_kid    schedule 20.10.2016
comment
Можно ссылку на CodePen, пожалуйста? (кажется, сейчас его нет) - person Mars Robertson; 20.10.2016
comment
Магия. Вы работаете недалеко от Камдена? Мой офис находится недалеко от Лондонского моста, поэтому я могу воспользоваться Северной линией... Я хотел бы увидеть прилавки и все творчество мастеров и производителей, которые потенциально могут привести к пинте пива с вами :) - person Mars Robertson; 21.10.2016