首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单击AgGrid和CellRenderer + CellEditor

单击AgGrid和CellRenderer + CellEditor
EN

Stack Overflow用户
提问于 2022-02-28 22:43:22
回答 1查看 164关注 0票数 -1

我使用AgGrid创建了一个表单,任务的目标是只对前端进行表单验证,其中前3个字段是强制性的,接下来的3个字段是可选的。

我使用CellRenderer完成了这个任务--执行检查字段是否为空,如果字段为空则添加错误消息,以及CellEditor --基本上是输入,并添加了一个属性,在错误显示错误消息时设置脏状态。

应用程序的屏幕截图如下:在这里输入图像描述

我想提高它的操作使用单次点击,因为目前用户需要点击两次,以开始填充字段,我有singleClickEdit:真,但它不工作,有任何想法吗?

在codeSandbox片段上复制问题:https://codesandbox.io/s/gallant-dew-s4n8cm?file=/src/app/app.component.html

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-03 10:10:35

所以在这个例子中发生的事情是,在一个列上有一个singleClickEdit=true,它也有一个自定义的单元格编辑器。

因为它是一个自定义组件,所以在呈现输入元素时,应该由您来关注它。

这样做的一个简单方法是为输入提供一个id:

代码语言:javascript
复制
<input
  #input
  [ngClass]="{ 'invalid': !valid }"
  [(ngModel)]="cellValue"
  (ngModelChange)="handleValueChange()"
  (focus)="makeDirty()"
/>

然后,实现单元格编辑器事件afterGuiAttached,将重点放在输入上:

代码语言:javascript
复制
export class ValidateInputEditorComponent extends ValidateInputCell
  implements ICellEditorAngularComp {

  @ViewChild("input") input;

  afterGuiAttached() {
    this.input.nativeElement.focus();
  }

  // ...
}

请参见在以下样本中实现的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71301858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档