Extjs:强制组件重新渲染
Extjs: Force a component to re-render
我在ExtJs中有一个自定义组件,这是一个表单字段(GridField)。它将网格显示为表单字段,并按预期工作。观察结果如下:
-
当表单单独呈现时(例如:在窗口或卡片布局的第一个面板中,一切都显示良好)
-
当表单不是卡片布局中的第一个面板或第一次呈现时隐藏时,字段名称显示,所需的空间保留,但控件不显示。
我做了一些检查,发现自定义组件实际上是渲染的,但所有html元素(div等)的宽度都是0。它们都有样式(宽度:0)。我的猜测是,这是因为表单面板在渲染完成时是不可见的。
在控制的实现方面,我扩展了Ext.form.field.Base
。在initComponent
中,我简单地调用this.on('afterrender', this.initControl)
来运行渲染后附加控件的自定义代码。在这里,input
字段被隐藏,网格被渲染到它应该在的地方。
您是否尝试调用"布局"方法以确保正确重新应用尺寸?重新渲染在Extjs中并不常见,通常是由doLayout完成的。如果没有,可能是你的实现本身出了问题。
相关文章:
- 追加新web组件时出现线程问题
- 如何强制对模态进行新渲染
- React-router 在添加历史记录后不会渲染组件
- react使用扩散属性渲染组件列表
- 使用Handlebars从动态变量渲染组件
- 反应嵌套路由不渲染组件
- 反应.js如何在组件内部渲染组件
- 使用其名称进行 React 渲染组件
- ReactJs:如何在渲染组件时传递初始状态
- 如何使用 Flux+React.js 从数据库回调渲染组件
- 使用不同道具在容器中多次响应渲染组件
- 使用vue.js在其外部渲染组件模板
- ReactJs上的无尽循环渲染组件
- 当另一个组件发生更改时,React重新渲染组件
- react.js在不同的位置渲染组件
- React.render()未渲染组件
- Rails和ReactJS -重新渲染组件
- React: componentDidMount + setState不重新渲染组件
- 如何在React 0.14中使用新道具在顶层再次渲染组件
- 在递归聚合物组件中插入新子组件时,无法读取未定义的属性“concat”