2016-03-01 30 views
2

MD-菜單的預期的行爲是我們做到以下幾點:錯誤無效的HTML:預計兩個孩子元素

<md-menu> 
    <button ng-click="$mdOpenMenu()">Filters</button> 
    <md-menu-content> 
     <md-menu-item ng-repeat="field in devices.fieldList"><md-button ng-click="devices.setFilter(field)" ng-bind="field.name"></md-button></md-menu-item> 
    </md-menu-content> 
</md-menu> 

不過我用的時候有一個情況MD-菜單欄,我想要快速訪問按鈕來刷新一些數據,這會導致錯誤md-menu的HTML無效:預計有兩個子元素。雖然我也許可以看它感覺就像是你應該能夠具備以下功能不同的UI明智它的偉大工程:

片段

<md-menu-bar> 
    <md-menu> 
     <button ng-click="$mdOpenMenu()">Filters</button> 
     <md-menu-content> 
      <md-menu-item ng-repeat="field in devices.fieldList"><md-button ng-click="devices.setFilter(field)" ng-bind="field.name"></md-button></md-menu-item> 
     </md-menu-content> 
    </md-menu> 
    <md-menu> 
     <button ng-click="data.refresh()"><md-icon class="material-icons">refresh</md-icon></button> 
    </md-menu> 
</md-menu-bar> 

有什麼原因,這不應該做?

回答

2

如果你看到每一個MD-菜單必須指定正好有兩個子元素 https://material.angularjs.org/latest/api/directive/mdMenu

您代碼,缺少md菜單的第二部分。

<md-menu> 
    <button ng-click="data.refresh()"><md-icon class="material-icons">refresh</md-icon></button> 
</md-menu> 

第二個元素是其表示菜單中的內容時,它是打開的MD-菜單內容元素。通常這會包含md-menu-items,但你也可以自定義內容。

注:如果您需要的元素的列表,請嘗試MD-列表:在MD-菜單內容

<md-list> 
    <md-list-item> 
     <md-menu> 
      <button ng-click="$mdOpenMenu()">Filters</button> 
      <md-menu-content> 
       <md-menu-item ng-repeat="field in devices.fieldList"><md-button ng-click="devices.setFilter(field)" ng-bind="field.name"></md-button></md-menu-item> 
      </md-menu-content> 
     </md-menu> 
    </md-list-item> 
    <md-list-item> 
     <button ng-click="data.refresh()"><md-icon class="material-icons">refresh</md-icon></button> 
    </md-list-item> 
</md-list> 
3

用於快速訪問按鈕刷新你可以用它

<md-button ng-click="data.refresh()"><md-icon class="material-icons">refresh</md-icon></md-button> 

check this link

0

如果MD-菜單沒有孩子,使用隱藏解決錯誤

首頁

<md-menu-content hide></md-menu-content> 
</md-menu> 
相關問題