javascript - 将样式设置为包含 TextInput 字段的 div

标签 javascript css reactjs material-ui styled-components

我是 React 和 Material UI 的新手。我正在使用 Material ui 版本“1.0.0-beta.17”并使用react 15.6.2。还有 styled-components 2.0.0 和 styled-components-breakpoint 1.0.1。

我在一个 div 元素中有两个 TextInput 字段。

const mycomponent = ({props}) => {
  <div>

    <SomeComponent />
    <div>
       <TextInput id="testId1" />
       <TextInput id="testId2" />
    </div>

  </div>
}

现在当它呈现时,它会向每个输入字段添加额外的父 div 像这样,

<div>
    <div class="field--testId1">
       <div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
           <input id="testId1">
       </div>
    </div>

    <div class="field--testId2">
       <div class="FormItem__ElementWrapper-s14tem39-3 bgVlIQ">
           <input id="testId2">
       </div>
    </div>
</div>

现在我如何定位到 div 以应用具有类名字段--testId1、字段--testId2 的样式。 这里classname是默认 Material ui生成的, 例如

.field--testId2{
  width: "48%",
  float: "left"
}
.field--testId2{
  width: "48%",
  float: "left"
}

我正在学习 React 和 Material UI,所以非常感谢任何帮助。

最佳答案

为了覆盖现有的类,您可以添加样式组件包装器而不是包装 div 并覆盖子类:

 const TextInputWrapper = styled.div`
     .field--testId2 {
          // your custom styling
     }
 `
<TextInputWrapper>
   <TextInput id="testId1" />
   <TextInput id="testId2" />
</TextInputWrapper>

关于javascript - 将样式设置为包含 TextInput 字段的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58856769/

相关文章:

javascript - XHR加载失败: POST on AJAX request (in React)

javascript - 使用 javascript 将默认值传递给空字段时出错?

html - 将 div 设置为父 div 高度的 50%

html - 使 block 元素垂直填充容器而无需手动固定大小

reactjs - 使用 admin-on-rest 添加嵌套资源

javascript - async wait 不同场景的区别

javascript - 如何在javascript中获取td内部列表的值

javascript - JQuery 函数可以在开发控制台上运行,但不能在加载页面中运行

javascript - 从输入单选按钮获取平均值

css - 垂直对齐不起作用