angular-material2 - 通过 ag-grid 使用 Material Autocomplete 进行内联编辑
问题描述
我在尝试使用angular-material Autocomplete
进行内联编辑时遇到问题。
为此创建了 plunk:用于内联编辑的材料自动完成 - ag-grid
- 自动完成选项没有出现在预期的位置。我必须向下滚动到网格底部下方才能看到选项。
- 一旦我选择了任何选项,我就无法在行中看到更新的值 - 我只会看到空白值。
isPopup?(): boolean { return false; }
尝试为#1 和#2提供各种值getValue() { return this.selectedValue; }
,但没有得到任何线索实际问题是什么。
我想要的是,
- 在适当位置显示的选项 - 就像我们在使用普通材料自动完成时看到的一样
- 打开单元格进行编辑后立即显示的选项 - 到目前为止,我必须在编辑单元格内单击。
- 一旦我选择了合适的值,它也应该在网格中更新。
解决方案
第一种情况可以通过覆盖来解决
.cdk-overlay-pane
,只需将styles
块添加到您的AutocompleteEditor
组件
styles: [`
::ng-deep .cdk-overlay-pane {
/* Do you changes here */
position: fixed; // <- only this one is crucial
z-index: 1000;
background:white
}
`],
部分从这里得到答案
第二,你必须自己照顾
focus
,所以最简单的方法是创建另一个ViewChild
参考并将其添加到材料输入中作为示例#cInput
@ViewChild('cInput') public cInput;
afterGuiAttached?(): void {
this.cInput.nativeElement.focus();
}
第三种情况,使用选项而不是
value
内部_autoCompleteChanged
函数
_autoCompleteChanged(option) {
this.selectedValue = option;
}
推荐阅读
- html - Chrome 未读取 manifest.json 文件
- php - 如何将数组转换为 php 语句?
- excel - 工作日和工作日公式在计算实际到期日方面给出了价值错误
- wpf - DataTrigger setter 只调用一次
- javascript - 通过ajax提交图片
- javascript - 如何将道具传递给父级(Material-UI React)
- python - 将嵌套的 .h5 组读入 numpy 数组
- ios - 如何判断用户是否从主屏幕图标(没有 3D 触摸)打开了我的 iOS 应用程序?
- ruby-on-rails - Zip 流在生产环境中不起作用 (RAILS/AWS)
- javascript - Arrays.sort 比较器问题