2016-03-01 31 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> 
相关问题