我正在遵循ExtJS6主题指南,并在面板上创建我的第一个mixin。
我已经在package / local / my-classic-theme2 / sass / var / panel / Panel.scss中创建了一个主题
运行时未更改面板,但出现以下错误。在panel.scss中显示未声明的mixin。

图片中的sencha应用观看错误css - extjs6主题指南-无法识别混合-LMLPHP

我错过了一步吗?

@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 watchhttp://localhost:1841

我的用户选项卡在面板上显示应有的红色标题。

css - extjs6主题指南-无法识别混合-LMLPHP

08-17 00:42