Javascript vbox中的ExtJs数据视图高度

Javascript vbox中的ExtJs数据视图高度,javascript,css,extjs,height,dataview,Javascript,Css,Extjs,Height,Dataview,我有一个剖面主视图(Home2)。在此视图中,用户希望显示顶部停靠的标题栏、用户配置文件信息和用户帖子 Ext.define('FreescribbleApp.view.Home2', { extend: 'Ext.Panel', xtype: 'homepage2', config: { title: 'Home', iconCls: 'home', styleHtmlContent: true, scrollable: true, items:[

我有一个剖面主视图(Home2)。在此视图中,用户希望显示顶部停靠的标题栏、用户配置文件信息和用户帖子

Ext.define('FreescribbleApp.view.Home2', {
extend: 'Ext.Panel',
xtype: 'homepage2',
config: {

    title: 'Home',
    iconCls: 'home',

    styleHtmlContent: true,
    scrollable: true,
    items:[
        {
            xtype: 'titlebarview'
        },
        {
            xtype: 'userinfoview',
            itemId: 'userInfoWrapper',
            height: 150
        },
        {
            itemId: 'homeStage',
            autoScroll: true
        }
    ] 
}
});
我还有一个数据视图:

Ext.define('FreescribbleApp.view.PostList', {
extend: 'Ext.dataview.DataView',
xtype: 'postlist',
config: {
    scrollable: false,
    defaultType: 'postitem',
    useComponents: true
}
});
其中列出了数据项:

Ext.define('FreescribbleApp.view.PostItem', {
extend: 'Ext.dataview.component.DataItem',
xtype: 'postitem',
requires: ['Ext.field.Text'],
config: {
    style: 'background-color: #f00',
    height: 100,
    styleHtmlContent: false,
    authorName: {
        height: 30,
        style: 'background-color: #0f0'
    },
    dataMap: {
        getAuthorName: {
           setHtml: 'userName'
        }
    },
},
applyAuthorName: function(config) {
    return Ext.factory(config, Ext.Component, this.getAuthorName());
},
updateAuthorName: function(newAuthorName, oldAuthorName) {

    if (newAuthorName) {
        this.add(newAuthorName);
    }
    if (oldAuthorName) {
        this.remove(oldAuthorName);
    }
}
});
在我的HomeController中,我创建了一个PostStore,用一些帖子填充它并添加到DataView。之后,我将DataView添加到我的Home2视图元素HomeStage:

 var postStore = Ext.create('FreescribbleApp.store.PostStore', {
        params: {
            user: localStorage.getItem('userId'),
            token: localStorage.getItem('token'),
            target: localStorage.getItem('userName')
        }
    });

    postStore.load();
    postStore.on('load', function(){
        var currentView = Ext.create('FreescribbleApp.view.PostList');
        currentView.setStore(postStore);
        homeStage.add(currentView);
    });
在设置数据视图的高度之前,我无法查看任何项目。这是一个常见的问题,bun在我的情况下,我不能将我的HomeStage设置为“适合”,因为它只是Home2的一部分,项目userinfo应该与帖子一起滚动。那么,如何动态设置数据视图的大小呢


在我的Sencha Chrome调试程序中,我还看到在我的DataView列表和我的DataItems之间有一个容器,它拥有所有项目的正确高度。我可以得到这个容器的大小并为我的DataView设置I吗?它会工作吗?这是一个好的实践吗?

对不起,我只需要在我的数据视图中设置scrollable:null,而不是false