上文把主界面设置好,但是主视图因为界面的微调出现了显示问题,本文将把它调整好了。

打开app/view/main/Main.js,可以看到主视图是派生于标签面板(Ext.tab.Panel)的。在视图的标签栏内,除了显示标签外,还显示了标题栏。由于已经重新设计了标题栏,主视图的标签栏就不需要了,因而先把这个去掉。

检查一下代码,会发现代码中有个header配置项,根据API可以知道,该配置项是用来定义面板的标题的,因而把这段代码先去掉。在浏览器中刷新一下,会看到如下图的效果:

从图中可以看到,标题是去掉了,但还是有问题,再检查下代码,会发现以下三个配置项是与标题和标签的设置有关的:

    tabBarHeaderPosition: 1,titleRotation: 0,tabRotation: 0,123123

根据API,可以知道tabBarHeaderPosition是用来指定标题栏的位置的,因而可以去掉;titleRotation是用来控制标题文本的显示方向的,这个也可以去掉;tabRotation是用来控制标签文本的显示方向的,暂时保留。

刷新一下浏览器,可看到下图的效果:

从图中可以看到,标题栏已经去掉了,但是标签还是在顶部。查一下API,可以找到tabPosition配置项,通过它可以控制标签的位置,因而在代码中添加以下代码,让标签显示在左边:

tabPosition: 'left',11

刷新一下浏览器,可看到如下图所示的效果:

从图中可以看到,目标已经实现了。

虽然基本目标已经达成,但是否还存在些小疑惑?为什么这个标签面板的标签显示与主题所默认所显示的标签(下图)会不同?

这是因为,在主视图中使用了自定义的UI,代码如下:

ui: 'navigation',11

根据API,ui配置项的作用是用来指定组件的UI样式,默认值是default,也就是使用默认的样式。而在这里,将值指定为了navigation,也就是说,当前的标签页将使用navigation样式,那么这个样式是在哪里定义的呢?

大家打开sass\src\view\main\Main.scss文件,就会看到navigation的样式定义了。打开文件后,会看到如下的一些代码:

@include extjs-tab-panel-ui(    $ui: 'navigation',    $ui-tab-background-color: transparent,    $ui-tab-background-color-over: #505050,    $ui-tab-background-color-active: #303030,    $ui-tab-background-gradient: 'none',    $ui-tab-background-gradient-over: 'none',    $ui-tab-background-gradient-active: 'none',    $ui-tab-color: #acacac,    $ui-tab-color-over: #c4c4c4,    $ui-tab-color-active: #fff,    $ui-tab-glyph-color: #acacac,    $ui-tab-glyph-color-over: #c4c4c4,    $ui-tab-glyph-color-active: #fff,    $ui-tab-glyph-opacity: 1,    $ui-tab-border-radius: 0,    $ui-tab-border-width: 0,    $ui-tab-inner-border-width: 0,    $ui-tab-padding: 24px,    $ui-tab-margin: 0,    $ui-tab-font-size: 15px,    $ui-tab-font-size-over: 15px,    $ui-tab-font-size-active: 15px,    $ui-tab-line-height: 19px,    $ui-tab-font-weight: bold,    $ui-tab-font-weight-over: bold,    $ui-tab-font-weight-active: bold,    $ui-tab-icon-width: 24px,    $ui-tab-icon-height: 24px,    $ui-tab-icon-spacing: 5px,    $ui-bar-background-color: #404040,    $ui-bar-background-gradient: 'none',    $ui-bar-padding: 0,    $ui-strip-height: 0);12345678910111213141516171819202122232425262728293031323334351234567891011121314151617181920212223242526272829303132333435

当看到以上的东西,一定会问,这是什么鬼?完全看不懂啊!先别慌,先打开Ext JS 6的API,找到Ext.tab.Panel的说明,然后在工具栏中找到CSS Mixins菜单,选择extjs-tab-panel-ui,就会看到下图说明了:

从图中的说明可以了解到,“$ui”定义的是UI的名字,“$ui-tab-background-color”就是标签的背景颜色……

根据模板给的示范,是否会觉得:其实修改Ext JS 6的样式也不算太难呢?
我的意见是不太难,难的在于入门,呵呵。

在主视图的定义中,还有2个比较特别的配置项:responsiveConfig和defaults和。他们又有什么作用呢?

在API中直接搜索responsiveConfig并切换到Ext.mixin.Responsive类,就可以知道,该配置项的作用是在指定条件下将应用怎样的显示,主视图中的定义说明,在竖向显示的时候,标题栏将显示在顶部,而在横向显示的时候,则显示在左边。

配置项defaults的作用是用来指定子组件的默认配置的,也就是说,在标签面板创建子组件的时候,会把defaults中的配置项应用到子组件 中。根据defaults中的配置项,可以了解到,标签页的内容区域将会向内收缩20个像素(bodyPadding),而每个标签页的标签 (tabConfig)将应用插件Ext.plugin.Responsive,这样,就可以实现在显示是横向的时候,标签将显示在左边,显示是竖向的时 候,标签显示在顶部,而且宽度固定为120像素。

由于当前项目只基于PC端,因而这两个配置项对当前项目来说意义不大,可以删除。

接下来修改一下标签页,在当前项目需要用到三个标签页:用户管理、文章管理和图片管理。具体修改代码如下:

    items: [{title: '用户管理',iconCls: 'fa-user'},{title: '文章管理',iconCls: 'fa-file-text-o',},{title: '图片管理',iconCls: 'fa-photo',}]12345678910111213141234567891011121314

这时候如果刷新浏览器,可能会出现乱码的情况,这是因为页面的代码页不是Unicode的,因为需要修改一下文件的代码页。在Visual Studio中,可在文件菜单中选择“高级保存选项”,然后如下图那样,将编码设置为Unicode,再保存就行了。

现在刷新浏览器,可看到如下图的效果:

今天就说到这了,有什么问题或疑问,请加入qq交流群391747779 进行咨询。

转载于:https://blog.51cto.com/dqhuang/1783847

Ext JS 6开发实例(四) :调整主视图相关推荐

  1. Ext JS 6开发实例(一)

    很久没写文章了,主要原因和大家差不多,都要为生活奔忙,搞了两个小项目.这两个小项目很凑巧,都可以使用Ext JS来开发,这正是练习使用Ext JS 6的好机会,自然不会错过. 很多读者可能会问,为什么 ...

  2. Ext JS 6开发实例(三) :主界面设计

    在上文中,已经将CMD创建的应用程序导入到项目里了,而且也看到默认的主界面了,今天的主要工作就是修改这个主界面,以符合项目的需要.除了设计主界面,还有一些其他的东西需要配置一下. 添加本地化包 打开a ...

  3. ext 6.0开发实例二

    由于Ext JS 6将原来的Ext JS和Sencha Touch合并为一个框架,因而在使用CMD来创建应用程序前,需要考虑清楚你是要创建一个通用应用程序,还是仅仅只是针对桌面或移动设备的应用程序. ...

  4. 10.22 Ext JS 快速开发工具

    工欲善其事,必先利其器.在实际项目中开发Ext JS应用时,希望开发工具最好是具备以下功能: 代码自动提示,补全 代码语法提示 - 对于Ext JS乃至一般的应用程序开发来说, 常用的开发IDE有: ...

  5. 基于Ext JS的模块化应用框架搭建及开发

    Ext JS模块化开发 早期基于Ext JS的Web开发方式,是在HTML中引入JS和CSS文件,典型的就是引入 ext-all.js 这样的文件.ext all 包含的内容很多, 有基本的核心组件. ...

  6. 小弟的新书《Ext JS权威指南》终于出版了

    链接:http://product.china-pub.com/3661375&weibo#ml <ext js权威指南> 前 言 第1章 ext js 4开发入门 / 1 1.1 ...

  7. 新书《Ext JS 4.2 实战》终于出炉了

    在清华大学出版社网站看到了书籍信息了,具体地址是:http://www.tup.tsinghua.edu.cn/book/Showbook.asp?CPBH=056140-01&DJ=51 预 ...

  8. 【翻译】Ext JS 6 Beta发布

    原文:Ext JS 6 Beta is Now Available 概述 Ext JS 6的好处 新的Ext JS功能和工具 需要你的反馈意见 概述 很高兴,Ext JS 6 beta版本现在发布了. ...

  9. 《Ext JS权威指南》——2.1节获取Ext JS 4

    第2章 从"Hello World"开始 "Hello World"几乎已经成为所有开发类图书的必用案例,本书也不能免俗.本章将通过编写"Hello ...

最新文章

  1. 显示所有文件和文件夹无论如何 无法被设置
  2. CNN光流计算2--FlowNet 2.0: Evolution of Optical Flow Estimation with Deep Networks
  3. golang json转结构体中嵌套多个数组_ElasticSearch第六篇:复合数据类型-数组,对象...
  4. 基于Android的红外测温设计,基于Android的红外三维重构移动APP设计与实现
  5. VS Code阅读Android源码
  6. activemq和jms_保证主题,JMS规范和ActiveMQ的消息传递
  7. Unity3d—做一个年月日选择器(Scroll Rect拖动效果优化)— 无限滚动 + 锁定元素...
  8. channelsftp 上传文件为空_SpringBoot文件上传下载篇(九)
  9. 足不出户,确保交付——独家交付秘籍(第二回)
  10. php 删除整个目录,php 删除整个目录功能实例
  11. web 前端常用组件【04】Datetimepicker 和 Lodop
  12. pyqt5 设置窗口按钮等可用与不可用
  13. leetcode Candy
  14. 全网最全ADB命令,没有之一
  15. YYUC01——Windows本地环境搭建
  16. 简洁UI好玩的文字转换emoji表情微信小程序源码下载支持句子词语转换
  17. java九宫格代码_Java实现九宫格的简单实例
  18. 《C语言程序设计(第五版)》习题答案
  19. kafka的epoch
  20. 【python】使用pandas快速提取腾讯问卷信息,比对未填写的人员的名单

热门文章

  1. python通过指定网卡发包_Python 使用指定的网卡发送HTTP请求的实例
  2. 【杂谈】为什么你在有三AI看不到最新论文的解读,其实一直都有的
  3. 【每周CV论文推荐】 初学者必须精读的5篇深度学习优化相关文章
  4. 【强化学习】强化学习专栏上线,60多篇文章等你follow
  5. 【AI基础】OpenCV,PIL,Skimage你pick谁
  6. 全球及中国磁性分离滑轮行业竞争战略及未来产销需求预测报告2022版
  7. 全球及中国儿童滑步车市场销量需求调查与竞争格局展望报告2022年
  8. lazada开店平台费用都有哪些,产品如何来做定价?
  9. 全球及中国多非利特行业规模预测与前景运营模式分析报告2022-2027年版
  10. 中国工业脚轮行业前景展望及营销战略分析报告2021-2027年