当前位置: 首页 > 知识库问答 >
问题:

如何用样式化组件和SASS对物料界面下一个组件进行样式化

丰俊艾
2023-03-14

我们希望在应用程序中使用MaterialUI、next组件,在应用程序中,我们将样式化组件与SASS一起使用。为此,我们使用webpack和一个原始加载程序导入生成的CSS并应用如下样式:

const sidebarStyles = require('./Sidebar.sass');

const StyledDrawer = styled(Drawer)`
    ${sidebarStyles}
    `

我们尝试这种方法是因为样式化组件似乎是一种对react组件进行样式化的好方法,但是我们希望使用常规的sass文件,这样我们的设计师就可以像普通的一样创建样式,而不必在JS中编写CSS。

现在我面对的材料ui组件的问题是,许多组件都有子组件(例如,Drawer组件有一个Paper组件作为它的子组件),我正努力寻找一个好的方法来用我们的方法来设计这些组件--我知道推荐的方法是使用类道具:

const styles = theme => ({
    drawerPaper: {
        width: 250
    }
});

classes={{
    paper: classes.drawerPaper,
}}

但这不符合我们从外部.sass文件导入样式为文本的要求。

这可能吗?最好的方法是什么?

共有1个答案

松翔
2023-03-14

您应该能够将类的名称从您的sass文件传递给类对象

classes={{
  paper: `SASS_CLASS_NAME_HERE`,
}}

更多信息:https://material-ui-next.com/customization/overrides/#用类覆盖

 类似资料:
  • 我正在使用在我的应用程序中实现一个亮/暗主题。不确定这是否太重要了,但我正在使用打字脚本。我还是一个新的反应和ts。 当组件是一个基本的HTML元素时,这是很简单的: 或者在自定义组件上(我可能拥有也可能不拥有该类型)。这里,我将从中对进行样式化: 然而,当我需要对没有显式呈现的组件进行样式化时,我会遇到麻烦。对于上面的例子,我显然在代码的某个地方有: 但是关于样式呢,比如说我自己不呈现的的子级?

  • 我正在开发一个带有样式组件的反应应用程序,我有一个组件“导航”。在这个组件中有更多的组件,如,等。Header例如是这样声明的: 问题是,我在不同的文件中有这个导航组件,对于所有文件,样式都很好,但现在我只想在其中一个文件中更改标题组件的背景色,它位于(?)导航组件。我该怎么做?我知道可以用const NewNav=styled(导航)之类的东西从导航组件更改样式,`但是标题呢? 先谢谢你。

  • 我有以下样式的组件: 其中主题是: 我收到以下打字错误: 类型“未定义”不能用作索引类型。 不知道为什么假设是未定义的,如果它是在中定义的-我如何让TypeScript识别这一点?

  • 我想创建一个包含一些元素的数组,然后迭代(使用.foreach或.map)它。但每个数组元素必须具有不同的样式。例如,我有一个数组如下所示: 另外,我想在另一个组件中重用数组的一些单独元素。我怎么能那样做? (假设每个元素中的最后一个单词是一个单独的样式,例如background-color或color,) 你能帮帮我吗?请给我一个建议,我会怎么做?

  • 组件模版和样式 自定义组件拥有自己的 jxml 模版和 jxss 样式。 组件模版 组件模版的写法与页面模板相同。组件模版与组件数据结合后生成的节点树,将被插入到组件的引用位置上。 在组件模板中可以提供一个 <slot> 节点,用于承载组件引用时提供的子节点。 代码示例: <!-- 组件模板 --> <view class="box"> <view>组件的内部节点</view> <slot

  • 我有一个样式化的组件: 当安装使用它的组件时,我想