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