找回密码
 立即注册

QQ登录

只需一步,快速开始

ttnkh21
初级会员   /  发表于:2021-6-29 08:11:34
11#
Richard.Ma 发表于 2021-6-25 10:44
问题已经重现确认了,目前在和研发同事沟通解决的办法,然后给您回复

您好,问一下,有解决方案了嘛?
回复 使用道具 举报
Richard.Ma讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2021-6-29 10:06:16
12#
你好,关于多次查询,是由于
[itemsSourceFunction] ="getItemBySearch.bind(this)"

在 Angular 执行的每个changed检测(发生在具有订阅事件处理程序、http 请求、setTimeout 调用的任何事件上)时,getItemBySearch.bind(this) 调用创建一个新函数,AutoComplete 检测它,并再次调用 itemsSourceFunction。

可以按以下方式设置:

  • 添加 getItemBySearchBnd: any; 字段到宿主元素
  • 在组件构造函数中,将绑定函数分配到此字段中:
    1. this.getItemBySearchBnd = this.getItemBySearch.bind(this);
    复制代码

  • 使用此字段绑定到 itemsSourceFunction:
    1. [itemsSourceFunction] ="getItemBySearchBnd"
    复制代码


另外请注意,当你开始编辑工号列单元格,itemsSourceFunction被调用了两次。这是因为单元格编辑模板检测到不适合单元格高度,并增加网格行高以适应单元格编辑器内容,从而导致网格重新创建编辑器。

如果这不是想要的效果,您可以通过在 grid 'initialized' 事件处理程序中将 grid.rows.defaultSize 设置为更大的高度值来消除它。
下面是修改后的demo

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
12
您需要登录后才可以回帖 登录 | 立即注册
返回顶部