【问题标题】:Ext JS add container to containerExt JS 将容器添加到容器
【发布时间】:2014-01-23 12:01:50
【问题描述】:

我遇到了非常奇怪的问题。我的动态创建的容器不会被吸引到现有的容器中。

var patientContainer = new Ext.container.Container(id:'patientContainer'+ rec.data.patientId, style: {height: '500px', width:'500px',
                                                   borderColor:'#000000', borderStyle:'solid',
                                                   borderWidth:'1px'}});

//现有容器

cont.add(patientContainer);
cont.doLayout();

值 fr 容器 id 存在。我还检查了现有容器cont 没有问题 我错过了什么吗?

更新:使用此代码不会改变任何事情

      var patientContainer = Ext.create('Ext.container.Container', {
                        id:'patientContainer'+ rec.data.patientId,
                            width:400,
                            height:400,                                    
                               style: {
                                borderColor:'#000000',
                                borderStyle:'solid',
                            borderWidth:'1px'
                                    }

                    });

更新:下面是控制台输出的屏幕截图。第一个是刚刚创建的容器,第二个是现有的

【问题讨论】:

  • 发布一个完整的示例,孤立的 sn-ps 代码,你甚至不显示容器是没有用的。
  • 我连小提琴都不会:卡在这里:fiddle.sencha.com/#fiddle/2t6
  • 因为代码中有语法错误...
  • 抱歉,我什么都没看到!
  • 花时间正确格式化您的代码,它会立即变得显而易见。或者只是将该代码放到任何页面中。

标签: javascript html extjs containers


【解决方案1】:

ExtJS 配置作为对象传递,而不是作为参数传递。

var patientContainer = new Ext.container.Container({
    id:'patientContainer'+ rec.data.patientId,
    height: '500px',
    width:'500px',
    style: {
        borderColor:'#000000',
        borderStyle:'solid',
        borderWidth:'1px'
    }
});

注意开头和结尾的附加 {。还建议使用Ext.create('Ext.container.Container', { ... });,因为它负责类加载,而新关键字则没有。

【讨论】:

  • 通常你不应该将高度和宽度放入样式中,而是作为容器本身的配置,因为大多数容器确实会动态计算高度和宽度并因此设置覆盖元素样式。虽然像 fit 这样的动态布局更适合容器,所以它们会占用内容的大小(或者当父级使用 fit 时它是父级)
  • 对不起,还是什么都没有!
猜你喜欢
  • 1970-01-01
  • 2020-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
  • 2018-02-11
相关资源
最近更新 更多