问题

当页面组件的数据需要和后端做交互时,如果把请求代码放在onChange里会给高频调用接口,并造成页面卡顿。

解决前 解决后
1.gif 2.gif

解决方法

先在数据源里新建一个timer变量
onChange里配置如下代码

  1. export function onChange({ value }) {
  2. if (this.state.timer) {
  3. clearTimeout(this.state.timer)
  4. }
  5. this.state.timer = setTimeout(() => {
  6. this.$("textareaField_kx5vvze7").setValue(this.$("textareaField_kx5vvze7").getValue() + value + '\n')
  7. this.state.timer = null;
  8. }, 500);
  9. }