Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs表单性能问题_Extjs - Fatal编程技术网

Extjs表单性能问题

Extjs表单性能问题,extjs,Extjs,我们使用带有两个输入字段的大输入表单,会遇到性能问题。确切的问题是窗体的渲染时间。显示表单需要几秒钟(4-10秒)。 我们使用多列布局和由json数据存储加载的~30个组合字段以及另外~10个输入字段。 渲染过程非常慢,因此我可以看到窗体的对齐和显示过程。有什么方法可以加快显示过程吗?可能是JSONStores加载的数据导致对齐方式发生了变化吗?关闭所有JSONStores,然后测量渲染过程-您将看到浏览器发出30个后端请求需要相当长的时间 我还建议你的商店是问题所在。你试过FireFox吗?或

我们使用带有两个输入字段的大输入表单,会遇到性能问题。确切的问题是窗体的渲染时间。显示表单需要几秒钟(4-10秒)。 我们使用多列布局和由json数据存储加载的~30个组合字段以及另外~10个输入字段。
渲染过程非常慢,因此我可以看到窗体的对齐和显示过程。有什么方法可以加快显示过程吗?

可能是JSONStores加载的数据导致对齐方式发生了变化吗?关闭所有JSONStores,然后测量渲染过程-您将看到浏览器发出30个后端请求需要相当长的时间

我还建议你的商店是问题所在。你试过FireFox吗?或者按照@JJ的建议,不要加载存储,看看会发生什么。我还建议您懒洋洋地呈现表单,但您的问题似乎涉及到商店


我在加载存储时也看到过类似的缓慢(通常后端查询会花费很多时间)。因此,我创建了一个AJAX调用来检索所有存储数据。在AJAX回调中,解析有效负载的内容并适当地分发到每个存储。

尝试在单个插槽中获取所有combobox数据,然后使用
store.load
方法加载数据。这可能对某些人有帮助:

我们在多个复选框中遇到了同样的问题,post帮助我们解决了这个问题

每次,当
表单
或其他容器添加一个元素时,它的布局都会重新计算。当有很多元素时,这会导致渲染问题

因此,您可以:

  • 一次性添加所有子项:
  • container.add(面板、按钮、网格);
    
  • 暂停布局重新计算:
  • container.suspendLayout=true;
    添加某物();
    container.suspendLayout=false;
    container.doLayout();
    
    我不得不问,30个组合字段到底有多有用?这对于任何形式来说都是非常多的字段。是的,有很多字段,但这样做是有意义的。我们使用Firefox+Firebug进行开发。我不认为最初的问题是json存储和请求(见我上面的回复)。我认为这种缓慢来自渲染和布局。可以通过眼睛看到,它试图对齐/调整窗体的各个部分,以使其匹配在一起。虽然我已经说过3.1版本解决了我们的大部分问题。