Html 禁用空格键按下的角材质上的MatSort
所以我使用了角度材质表,并决定为每一列制作一个过滤器。此筛选器的输入位于每列的行标题中。这很好,但问题是当我输入并按下空格键时,表格会被排序。我希望停止此行为,但如果我使用了Html 禁用空格键按下的角材质上的MatSort,html,angular,typescript,angular-material,Html,Angular,Typescript,Angular Material,所以我使用了角度材质表,并决定为每一列制作一个过滤器。此筛选器的输入位于每列的行标题中。这很好,但问题是当我输入并按下空格键时,表格会被排序。我希望停止此行为,但如果我使用了(keydown.space)=“$event.preventDefault()”,但该空格未插入到输入中。下面是表格的代码 {{user.strName} {{user.strGender} 我也遇到了同样的问题,并且: event.preventDefault(); (event.target as any).valu
(keydown.space)=“$event.preventDefault()”
,但该空格未插入到输入中。下面是表格的代码
{{user.strName}
{{user.strGender}
我也遇到了同样的问题,并且:
event.preventDefault();
(event.target as any).value += ' ';
而不是使用
preventDefault()
我曾经
stopPropagation()
它仍然允许输入,但不将事件传播到父元素(因此排序元素从不接收事件)。
用法:
在输入中应用一些不允许类型继续空格的正则表达式。谢谢你的回答,Sayan,但是你能详细说明你的答案吗?我不明白为什么我应该使用正则表达式来阻止事件的发生,或者有什么我不知道的吗?你能在stackblitz中提供你的代码吗?我做了一个快速的stackblitz,我省略了一些功能和样式,但问题仍然是,当你尝试键入表的行标题并按空格时,排序箭头被激活,使数据可排序。
(keydown.space)="$event.stopPropagation()"