解决方法
正如你所说,angular-material没有提供禁用它的任何选项,显然你必须对其源代码进行更改.
现在,您还没有提到是否要在特定位置禁用它,或者在所有地方为bottomSheets转向向下拖动.
1)如果是后者,它将非常简单,因为你唯一需要做的就是删除拖动事件的事件监听器.
如果您使用angular-material.js文件,那么您可以做什么:
找到函数BottomSheet(element,parent).此函数基本上注册关闭工作表的拖动事件.我们需要让它不附加听众.
减少它:
function BottomSheet(element,parent){ return { element: element,cleanup: angular.noop }; }
清理函数基本上在拖动事件上取消注册侦听器.当底层的范围被销毁时调用此函数.为了进行微小的更改,我们只是简化了清理功能,无所事事.
2)如果您希望能够在控制器中创建工作表时传递选项,则执行相同的操作,但有条件地基于您传递的选项.不要写代码因为我假设你知道角度是如何工作的,但是这里是步骤:
=>添加一个布尔变量以及其他选项(模板,范围等).让我们称之为dragDownToClose.
=>在MdbottomSheet的提供程序函数内的默认注入器函数中,为其分配默认值(true / false).
=>在onShow函数内实例化BottomSheet()期间,将它与元素和父元素一起传递.
=>所以BottomSheet()现在有三个参数 – dragDownToClose是新的参数.
=>正如我们在前一种情况下所做的那样,当值为false时返回没有附加任何处理程序的元素,并让原始函数为true时.
当然,有多种方法可以实际实现这一点.但是,我希望你能得到这个想法.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。