我有角度Materia底部表單的問題。我可以打開它,但是當點擊一個按鈕時我無法關閉菜單。在其他地方點擊時會關閉,但如果選中底部表單中的某個按鈕,則不會。演示中有一個可用的Code Pen演示。所有的幫助表示讚賞。角度材料底部表單不會關閉點擊
典筆:https://codepen.io/anon/pen/oGBGgJ
HTML
<body layout="row" ng-controller="BottomSheetController">
<div layout="column" layout-fill flex class="set-page-background" ng-controller="BottomSheetController">
<md-toolbar class="md-tall contact-tall">
<div layout="column" class="md-toolbar-tools-bottom inset" layout-fill layout-align="center start">
<div layout="row" layout-align="start center">
<!-- BOTTOM SHEET BUTTON -->
<div flex="10" ng-click="openBottomSheet()">
<md-button>Open Sheet</md-button>
</div>
</div>
</md-toolbar>
</div>
</body>
JS
var app = angular.module('StarterApp', ['ngMaterial', 'ngMdIcons']);
app.controller('BottomSheetController', function($scope, $mdBottomSheet) {
$scope.openBottomSheet = function() {
$mdBottomSheet.show({
template: '<md-bottom-sheet class="btm-list">' +
'<md-button class="btm-sheet-btn">Add</md-button>' +
'<md-button class="btm-sheet-btn">Delete</md-button>' +
'<md-button class="btm-sheet-btn">Append</md-button>' +
'<md-button class="btm-sheet-btn">Show</md-button>' +
'<md-button class="btm-sheet-btn cancel-btn">Cancel</md-button>' +
'</md-bottom-sheet>'
})
.then(function() {
console.log('You clicked the button to close the bottom sheet!');
})
// Fires when the cancel() method is used
.catch(function() {
console.log('You hit escape or clicked the backdrop to close.');
});
}
$scope.closeBottomSheet = function($scope, $mdBottomSheet) {
$mdBottomSheet.hide();
}
})
雖然你的答案在理論上的作品,它不會在我的示例工作。當我添加ng-click =「closeBottomSheet()」時,它不會關閉底部工作表。我添加了它來取消,它在我的CodePen演示中沒有做任何事情。 – user5854648