javascript - 使用 cdk 拖放时,整个 mat-dialog 变为拖动句柄
问题描述
我试图在Angular Material 9中组合mat-dialog
和
。是: drag-drop
dialog.html
<h1 mat-dialog-title cdkDrag cdkDragHandle cdkDragRootElement=".cdk-overlay-pane">
Title</h1>
<div>
<p>What's your favorite animal?</p>
</div>
<div mat-dialog-actions>
<button mat-stroked-button (click)="onExit()">Exit</button>
</div>
但似乎整个对话框变成了拖动手柄,而不仅仅是dialog-title
部分。
堆栈闪电战: https ://stackblitz.com/edit/angular-ivy-putdym
有人可以给个提示吗?
解决方案
你的问题在这里cdkDragRootElement=".cdk-overlay-pane"
您告诉它要拖动的根元素是整个覆盖窗格(通过指定类)。
只需删除该行,它将默认为其所在的元素,或为 title 指定类cdkDragRootElement=".mat-dialog-title"
。要么会工作。该指令的功能是您可以放置一个较小的拖动手柄来拖动较大的父元素。
编辑:我误解了所需的功能是什么,解决方案基本上是将 cdkDrag 指令和 cdkDragHandle 指令分离到不同的元素。这是您的 stackblitz 的修改版本:
推荐阅读
- php - php简单的html解析器,获取表格数据的麻烦
- r - 如何使用 ggplot 在折线图上绘制多条线并将它们作为不同的颜色?
- css - 如何在 sapui5 中设置组合框下拉列表的高度?
- vba - 在 Word 中使用 UserForm 时,代码需要放在哪里?
- python - Python函数程序及其输出有理
- java - QuickSort 的枢轴选择,发生了什么,我的算法中有什么不正确的吗?
- c - if else 语句太多,如果“索引”变量逻辑在每个循环中递增 1,是否可以对其进行优化?
- php - 在 codeigniter 上上传图片,显示错误:上传路径似乎无效
- bootstrapper - 另一个下拉菜单中的下拉菜单
- python - Python 请求 Cookie 问题(网页抓取)