Sencha Touch 1.x TabPanel的左侧TabBar
先看看效果
其实是会碰到问题滴
sencha touch里,tabBar只有设在上面或者下面的时候,才能正常显示。
如果设置到左侧的话,默认就会产生这样的结果:
要解决这个问题,我的第一反应就是用css。但是那无疑增加了复杂度。(我确实也那么搞过,麻烦得要命)
其实只要对sencha touch的布局熟一点,分析一下,很容易就能找到问题的关键。
水平一排过来的Tab1,Tab2,Tab3按钮,这是什么?这不就是hbox布局吗!
OK,也就是说要让它变成垂直的,只需要把hbox布局改为vbox布局即可。
第一个措施
因为Tab1,Tab2,Tab3是在TabBar里面的,所以我们把tabBar的layout改为vbox。
代码如下:
tabBar : { layout: 'vbox', dock: 'left' }
发现没有效果。折腾了一下发现以下的写法才行得通:
tabBar : { layout: { type: 'vbox' }, dock: 'left' }
完整代码如下:
Ext.setup({ onReady: function() { new Ext.TabPanel({ fullscreen: true, type: 'dark', tabBar : { layout: { type: 'vbox' }, defaults: { margin: '10 0 0 0', }, dock: 'left' }, sortable: true, items: [{ title: 'Tab 1', html: '1', cls: 'card1' }, { title: 'Tab 2', html: '2', cls: 'card2' }, { title: 'Tab 3', html: '3', cls: 'card3' }] }); } });