我正在遵循ExtJS6主题指南,并在面板上创建我的第一个mixin。
我已经在package / local / my-classic-theme2 / sass / var / panel / Panel.scss中创建了一个主题
运行时未更改面板,但出现以下错误。在panel.scss中显示未声明的mixin。
图片中的sencha应用观看错误
我错过了一步吗?
@include extjs-panel-ui(
$ui: 'highlight-framed',
$ui-header-background-color: red,
$ui-border-color: red,
$ui-header-border-color: red,
$ui-body-border-color: red,
$ui-border-width: 5px,
$ui-border-radius: 5px,
$ui-header-color: white
);
我把它放在实际面板上
ui: 'highlight',
frame: true,
最佳答案
这是我所做的:
使用以下命令创建了一个新应用sencha -sdk <path to ext 6.0.2> generate app -ext MyApp MyTestApp
cd MyTestApp
sencha generate theme --extend theme-classic my-classic-theme2
在panel
内创建文件夹packages/local/my-classic-theme2/sass/src
,并在该文件夹内创建文件Panel.scss
。
编辑该文件并按原样粘贴您的代码:
@include extjs-panel-ui(
$ui: 'highlight-framed',
$ui-header-background-color: red,
$ui-border-color: red,
$ui-header-border-color: red,
$ui-body-border-color: red,
$ui-border-width: 5px,
$ui-border-radius: 5px,
$ui-header-color: white
);
编辑
classic/src/view/main/Main.js
文件,并用以下内容替换项目块:items: [{
title: 'Home',
iconCls: 'fa-home',
// The following grid shares a store with the classic version's grid as well!
items: [{
xtype: 'mainlist'
}]
}, {
title: 'Users',
iconCls: 'fa-user',
items : [{
xtype: 'panel',
frame: true,
ui: 'highlight',
title: 'Testing my highlight panel',
items: [{
xtype: 'textfield',
fieldLabel: 'Foo',
value: 'Bar'
}]
}]
}]
最后编辑
app.json
并确保我的"theme"
指向my-classic-theme2
跑
sencha app watch
到http://localhost:1841我的用户选项卡在面板上显示应有的红色标题。