salesforce - 如何覆盖 Lightning Web 组件内部元素的 CSS
问题描述
我有一个 dataTable 组件,如下所示:
<template>
<lightning-datatable
class="pw-table"
key-field="id"
columns={columns}
data={data}
hide-checkbox-column
></lightning-datatable>
</template>
现在我想写一些自定义 css 来使表头更高,
.pw-table {
height: 300px;
}
但没用,那我该怎么做呢?我使用 loadStyle 但失败了,我不知道为什么?
import { loadStyle } from 'lightning/platformResourceLoader';
import accountCustom from '@salesforce/resourceUrl/accountCustom';
解决方案
您应该将 Lightning 基础组件视为黑匣子。LWC 的内部元素受到 Shadow DOM 和 Lightning Locker 的保护。您无法使用 CSS 设置它们的样式,也无法通过 JavaScript 与它们交互。
您可以设置顶级元素的样式(这实际上是您在此处所做的),但您不能设置组件内的元素样式。请参阅Lightning Web 组件开发指南中的CSS 样式表。
父组件可以为子组件设置样式,但它会将其设置为单个元素。
推荐阅读
- annotations - @ObjectModel.text.element 不适用于 WITH_INTENT_BASED_NAVIGATION
- python - 如何重新训练现有的 K-Means 聚类模型
- python - 我应该如何合并两个字典而不覆盖相同的键?
- javascript - 如何在 Angular 中访问 XMLHttpRequest
- r - For-loop 和 Augmented Dickey-Fuller 单位根检验(ADF 检验)
- string - 如何替换 azure-pipelines.yaml 中的变量字符串?
- java - Retrofit2 POST 方法获取代码 400 但适用于 Restlet 客户端
- amazon-web-services - “放大环境结帐”突然因验证错误而失败
- ios - 如何在 Firebase 动态链接预览页面设置 logo 图标?
- python - 使用 Pandas 基于列的唯一值创建 DataFrame,然后为创建的每个 DF 导出到 excel