我在这里找到了有关此主题的详细答案/信息:http ://www.sencha.com/products/extjs/up-and-running/themes-introduction
这是非常有帮助的。
细节:
基本上,我想在本地尝试这个例子:http: //dev.sencha.com/extjs/5.0.0/examples/kitchensink/#side-navigation-tabs
所以,为了完成我的要求,这些是要做的事情:
首先,您必须使用Sencha Cmd生成工作区。在工作区中有带有主题的 ext lib 和您的应用程序 + 可选的主题。-ext选项意味着该命令将在您的工作空间中下载 extjs,这非常有用。
sencha 生成工作空间-ext my-workspace
然后你必须进入你的工作区并生成你的应用程序。(-sdk ext这意味着 extjs lib 在 ext 目录中。当您构建应用程序或对您的应用程序执行其他操作时,始终使用 ExtJs lib)
cd 我的工作区
sencha -sdk ext 生成应用 ThemeDemoApp 主题-演示-应用
我想为我的标签面板添加自定义 ui。让我们在适当的目录中创建该选项卡面板:
cd 主题演示应用程序
vim app/view/main/TabPanel.js
我使用 vim,但您可以使用任何文本编辑器来完成。将此代码放入该文件中:
Ext.define('ThemeDemoApp.view.main.TabPanel', {
扩展:'Ext.tab.Panel',
xtype: '自定义标签面板',
ui: '导航',
tabPosition: '左',
选项卡旋转:0,
标签栏:{
边框:假
},
项目: [{
标题:'标签 1',
html: '文本内容'
}, {
标题:'标签 2',
html: '文本内容'
}, {
标题:'标签 3',
html: '文本内容'
}]
});
现在我们必须在 css中定义ui:'navigation' 。为此,我们必须在同一目录中创建TabPanel.scss文件,因为类相对于sass/src目录中的 app ( view/main ) :
mkdir sass/src/视图
mkdir sass/src/view/main
vim sass/src/view/main/TabPanel.scss
并使用任何文本编辑器(我使用 vim)将 saas 脚本放入该文件中:
@include extjs-tab-panel-ui(
$ui: '导航',
$ui-tab-background-color: 透明,
$ui-tab-background-color-over: #505050,
$ui-tab-background-color-active: #303030,
$ui-tab-background-gradient: '无',
$ui-tab-background-gradient-over: '无',
$ui-tab-background-gradient-active: '无',
$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: 粗体,
$ui-tab-font-weight-over: 粗体,
$ui-tab-font-weight-active:粗体,
$ui-tab-icon-width: 24px,
$ui-tab-icon-height: 24px,
$ui-bar-background-color: #404040,
$ui-bar-background-gradient: '无',
$ui-bar-padding: 0,
$ui-strip-height: 0
);
让我们使用我们的自定义选项卡面板,而不是app/view/main/Main.js中使用的默认选项卡面板。因此,该文件的代码必须如下所示:
Ext.define('ThemeDemoApp.view.main.Main', {
扩展:'Ext.container.Container',
需要:['ThemeDemoApp.view.main.TabPanel'],
xtype:'应用程序主',
控制器:'主要',
视图模型:{
类型:'主要'
},
布局: {
类型:'边框'
},
项目: [{
xtype:'面板',
绑定:{
标题:'{name}'
},
地区:“西部”,
html: '<ul><li>这个区域通常用于导航,例如使用“树”组件。</li></ul>',
宽度:250,
分裂:真的,
酒吧:[{
文本:'按钮',
处理程序:'onClickButton'
}]
},{
区域:'中心',
xtype: '自定义标签面板'
}]
});
现在我们必须构建应用程序。(将我们的新组件放入requires很重要,否则 sencha cmd 将忽略我们到目前为止所做的事情 :) )
sencha 应用程序构建
并在本地运行应用程序:
煎茶应用手表
最后打开这个看看结果:Demo App