【问题标题】:How to override a css class in style component如何覆盖样式组件中的css类
【发布时间】:2019-11-30 10:50:38
【问题描述】:

Search.tsx

import { SearchInput } from Search.styles.ts

<SearchInput
    onChange={handleChange}
    value={values["searchValue"]}
    placeholder="Search"
    type="text"
    name="searchValue"
/>

输出html:

<div class="1">
  <div class="2">
    <div class="3">
      <span class="InputWrapper">
        <input placeholder="Search" name="searchValue" class="Input input normalVariant" formnovalidate="" type="text" value="" >
      </span>
    </div>
  </div>
</div>

Search.styles.ts:

import * as Toolkit from "@some_repo/toolkit";
export const SearchInput = styled(Toolkit.Input)`
  InputWrapper: 100%
`

我要设置InputWrapper: width 100%,正确的做法是什么?

【问题讨论】:

    标签: css reactjs typescript styled-components


    【解决方案1】:

    它就像 css 一样工作。

    import * as Toolkit from "@some_repo/toolkit";
    export const SearchInput = styled(Toolkit.Input)`
      .InputWrapper {
        width: 100%;
    };
    

    【讨论】:

      【解决方案2】:
      import * as Toolkit from "@some_repo/toolkit";
      export const SearchInput = styled(Toolkit.Input)`
        width: 100%;
      `
      

      【讨论】:

      • 说 InputWrapper 在里面。我该如何设计它?
      • 你能告诉我代码或提供codersandbox吗?我不确定当它深入内心时会发生什么变化
      • 我已经更新了输出 html。我的问题是我想覆盖 InputWrapper 的样式。 Toolkit.Input 是否只代表最外层的元素?
      • 表示最里面的元素
      猜你喜欢
      • 2021-01-20
      • 1970-01-01
      • 2015-09-18
      • 1970-01-01
      • 1970-01-01
      • 2021-02-20
      • 2019-10-23
      • 2021-09-15
      • 2014-01-10
      相关资源
      最近更新 更多