- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图通过 data-testid
属性到 Material-UI Select
组件,但我收到以下 Typescript 错误:
Type '{ "data-testid": string; }' is not assignable to type 'HTMLAttributes'. Object literal may only specify known properties, and '"data-testid"' does not exist in type 'HTMLAttributes'.
Select.d.ts(111, 3): The expected type comes from property 'SelectDisplayProps' which is declared here on type 'IntrinsicAttributes & SelectProps'
import React from "react";
import Select from "@material-ui/core/Select";
import MenuItem from "@material-ui/core/MenuItem";
export default function MyComponent() {
return (
<Select SelectDisplayProps={{ "data-testid": "my-component" }}>
<MenuItem value="1">One</MenuItem>
<MenuItem value="2">Two</MenuItem>
<MenuItem value="3">Three</MenuItem>
</Select>
);
}
<Select data-testid="my-component" />
)时,这似乎不是问题,因此问题在于将其传递给
SelectDisplayProps
.
SelectDisplayProps
确实是将 Prop 传递给
<Select>
内的子元素(
docs )。
最佳答案
您可以找到 SelectDisplayProps
的类型这里:https://github.com/mui-org/material-ui/blob/v4.9.12/packages/material-ui/src/Select/Select.d.ts#L115
SelectDisplayProps?: React.HTMLAttributes<HTMLDivElement>;
MySelectDisplayProps
):
import * as React from "react";
import "./styles.css";
import Select from "@material-ui/core/Select";
import MenuItem from "@material-ui/core/MenuItem";
interface MySelectDisplayProps extends React.HTMLAttributes<HTMLDivElement> {
"data-testid"?: string;
}
function MyComponent() {
const [value, setValue] = React.useState("1");
return (
<Select
value={value}
onChange={event => setValue(event.target.value as string)}
SelectDisplayProps={
{ "data-testid": "my-component" } as MySelectDisplayProps
}
>
<MenuItem value="1">One</MenuItem>
<MenuItem value="2">Two</MenuItem>
<MenuItem value="3">Three</MenuItem>
</Select>
);
}
export default function App() {
return (
<div className="App">
<MyComponent />
</div>
);
}
关于reactjs - MaterialUI React 组件上 data-* 属性的 typescript 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61480749/
我是 React 的新手,我对如何重写 Material UI 中的类有点困惑。我查看了这些示例并尝试模仿它,但它似乎没有达到我想要的效果。 基本上,在表行悬停时,我想让它设置与当前正在执行的操作不同
我正在将一个未弹出的 create-react-app 项目与 MaterialUI 一起使用,并尝试用 Styled Components 替换 JSS。它工作正常,但生成的类名不是人类可读的。 我
有什么方法可以使用 Material UI 实现月份选择器和年份选择器。 在月 View 中,输出应该只有月和年,例如:- 2020-09 最佳答案 您可以使用本节中演示的不同 View here .
我正在尝试为我的 React 组件添加更好的测试覆盖率,而我无法模拟的地方之一就是这个内部 export const useTabStyles = makeStyles(({ options: { c
是否可以将特定的 Material UI 图标测试为 ArrowLeft/ArrowRight 而不是 .MuiSvgIcon-root? 应用组件: return {open ? :} RTL 测
我有一个 formik 表单,字段通常如下所示: Field 是从 Formik 导入的,TextField 只是样式 formik-material-ui文本字段: import { TextFi
谁能帮我理解允许从单独文件导入动态主题对象的正确语法? 我正在尝试从媒体查询中获取系统主题,然后动态设置主题。 如果我像这样将所有内容都保留在 App 主函数中,则效果很好: https://stac
我们正在构建一个 Web 应用程序,根据加载应用程序时从数据库中提取的 Material UI JSON 主题,不同的用户可以看到不同的颜色、字体、边框宽度等。 问题来自于动态字体。 人们尝试过哪些方
我正在尝试了解如何使用 MaterialUI 将样式注入(inject)组件,但我很困惑!谁能解释一下我做错了什么?我阅读了文档,但老实说它对我来说没有意义。什么是类?以及如何将 const 样式附加
我在我的 React 应用程序中使用 MaterialUI 的网格将我的页面分成两个 Pane 。右侧有两个输入框和一个提交按钮。我正在使用 spacing={3}在输入和按钮之间提供间距。 初始代码
提交表单时,我想验证两个字段。具体来说,我想检查密码是否至少有 5 个字符,以及密码和确认密码字段是否匹配。我继续执行状态来保存这些错误消息。但是,并非所有错误都显示出来。示例:假设用户在密码字段中输
我正在尝试更改菜单项弹出框的背景颜色。但我无法从菜单项中删除 paddingtop 和 paddingBottom。这有点烦人,因为一些 materialui 组件从纸、列表、菜单等继承样式。有没有一
我想设计 Paper MaterialUI 的 Dialog const StyledDialog = styled(Dialog)` & .MuiPaper-root { width:
如何将焦点设置在 material-ui TextField 上成分? componentDidMount() { ReactDom.findDomNode(this.refs.myContr
所以目前我正在尝试渲染一个 DataTable 组件。如果我点击Users按钮,它应该呈现我的Users的表格。当我单击Devices 按钮时,它应该呈现我的Devices 的表格。但是,由于某种原因
我有嵌套列表,但我不知道有多少(递归函数)。如何让他们获得自动填充? 我得到的结果是这样的 : 我想得到这个结果: 如果我添加嵌套样式,它们对于所有嵌套列表都是相同的。我需要为每个下一个级别增加填充。
我正在使用 Material-UI 创建一个可编辑的文本字段和 react 。 当您在文本字段之外时,它看起来像 div 或 span 元素: 但是当你mouseover它时,会出现一个编辑图标: 当
我有一个输入表单,我想在单击“搜索”按钮后验证输入字段。 我看到的大多数答案都是实时验证输入,因为用户将其输入到表单中。 我不想这样做,因为我需要做的一些验证是一项昂贵的操作(例如验证 API key
我正在使用我稍微修改(样式/逻辑)以创建自定义库的 MaterialUI。我还使用 Storybook(带有 Typescript)来创建文档。 我面临的问题是故事书表格 Prop 并不总是自动生成的
我在 react 组件中有这个简单的代码: render(){ return( Menu item 1 Menu item 2
我是一名优秀的程序员,十分优秀!