【问题标题】:Angular Ag Grid Clear Text Input IssueAngular Ag Grid 明文输入问题
【发布时间】:2019-08-15 10:02:20
【问题描述】:

您好,我正在使用带有 Angular 5 的 Ag Grid 企业版 17.0。文本字段似乎有问题。我无法清除文本字段中的值。根据附件与文本字段关联的十字符号不会在单击它时清除文本。你能告诉我如何使用十字符号使这个明文字段工作吗?请找到附件供您参考。

列定义

{
        headerName: 'Contact Name',
        formEditable: true,
        isRequired: true,
        width: 150,
        minWidth: 150,
        suppressPaste: false,
        field: 'contactName',
        suppressFilter: true,

}

【问题讨论】:

  • 您能否也包含您的代码,用于表的列定义
  • 我可以检查您的自定义单元格编辑器的代码吗?您是否为此使用自定义组件? ag-grid.com/javascript-grid-cell-editor/…
  • 嗨,我已经用表格列定义更新了问题。联系人姓名出现一个十字符号,但当我点击它时,什么也没有发生。
  • 嗨,已经在当前 ag 网格的顶部创建了一个包装器,但是对于文本字段,使用了通常的 ag 网格文本字段。
  • 它有效。检查此 plunk plnkr.co/edit/S6PcE5nLoWtBKgNls2jy?p=preview 以供参考。或者,向我们提供一个重现问题的插件

标签: angular ag-grid


【解决方案1】:

感谢@Paritosh 提供的 plunkr,我设法创建了一个演示。按照 Ag-grid 的约定,您应该使用 frameworkComponentsICellEditorAngularComp 创建自定义组件。

您可以在此处查看完整演示,并参考名为“数字”的列:https://plnkr.co/edit/QWPNv9IBvaBuv8yAdWYg?p=preview

一旦您开始演示,请参考app/numeric-editor.component.ts

基本上,我在输入端添加了一个“十字”按钮,并将click 事件绑定附加到该按钮:

<div class="search_field">
    <input #input (keydown)="onKeyDown($event)" [(ngModel)]="value">
    <button type="button" (click)="clear()"style="position: absolute;top: 3px;right: 10px;">
      <span>&times;</span>
    </button>
</div>

这就是我定义clear() 方法的方式。想法是将其设置为未定义(或空字符串),并分别返回该值。

clear() {
  this.value = null;
  console.log(this.value);
  return this.value;
}

样式可能并不完美,但我希望你能明白我的想法

【讨论】:

  • 感谢您的更新。我明白了。我将尝试实现您提到的功能
  • @Nithin 是的,请告诉我它是否也适用于您。
  • 您不需要这样做。不要进入 x-y 问题。这里的问题是,x 图标是由 IE 提供的,它在 OP 的帖子中不起作用。在这里创建自定义编辑器组件是开销
  • @wentjun 您好,感谢您的支持。我已经实施了您的解决方案,并且效果很好。但是有一个问题。我可以知道你为什么设置 this.value = undefined 而不是 null 吗?
  • 你介意看看这个问题并解决它吗?[stackoverflow.com/questions/56022346/…
猜你喜欢
  • 2019-09-25
  • 2019-03-19
  • 2017-04-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-04
  • 2018-11-22
  • 2018-10-26
相关资源
最近更新 更多