reactjs - 语义 react 用户界面 : is there a way to change the background color of a checkbox toggle?

标签 reactjs semantic-ui semantic-ui-react

我正在使用 toggle checkboxes通过语义 react 用户界面。 复选框的背景颜色在此处的样式中定义:

  .ui.toggle.checkbox input:checked~.box:before, .ui.toggle.checkbox input:checked~label:before {
      background-color: #2185d0!important;
  }

...但是我希望能够设置一个可以改变颜色的 Prop ,比如

<Checkbox toggle toggleColor="red"/>

我可以扩展该组件来实现它,还是有其他方法可以实现它?

谢谢!

最佳答案

是的,你可以,但它并不漂亮!

我有一个适用于 semantic-ui 并经过严格测试的解决方案。我假设它也适用于 semantic-ui-react 但没有广泛测试。

首先,semantic-ui 中缺少复选框的颜色功能(据我所知,至少没有相关文档)。所以你需要使用 CSS 来定义你的颜色。你所有的颜色!所以如果你有很多,你可能想要 SASS 或其他东西。此外,您可能希望使用语义 ui 提出功能请求。

其次,我的解决方案使用复选框的标签来为复选框着色。我完全知道这并不漂亮,但这显然是无需太多额外代码或更丑陋方法的唯一方法。

将此添加到您的代码中(请注意,由于 <link rel="stylesheet" href="../semantic_ui/dist/semantic.min.css"> 明显缺失,stackoverflow 无法正确呈现此示例。如果有办法在这边添加此内容,请告诉我。)

.ui.toggle.checkbox input:focus:checked ~ .box:before,
.ui.toggle.checkbox input:focus:checked ~ .coloring.black:before,
.ui.toggle.checkbox input:checked ~ .box:before,
.ui.toggle.checkbox input:checked ~ .coloring.black:before {
    background: #000000 !important;
}

.ui.toggle.checkbox input:focus:checked ~ .coloring.white:before,
.ui.toggle.checkbox input:checked ~ .coloring.white:before {
    background: #FFFFFF !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.2/dist/semantic.min.js"></script>

<div class="ui segment">
  <div class="ui attached icon form" id="info_input_form">
    <div class="ui toggle checkbox">
      <input type="checkbox" tabindex="0">
      <label class="coloring black">Toggle</label>
    </div>
  </div>
</div>

关于reactjs - 语义 react 用户界面 : is there a way to change the background color of a checkbox toggle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64388613/

相关文章:

javascript - 识别经过身份验证的用户的类型

javascript - react : How to pass array of ids to method

html - 如何使语义用户界面中的固定顶部菜单不覆盖内容

searchbar - 如何在语义 React ui 搜索中放置默认消息?

javascript - 语义 ui react 下拉列表中的默认选定选项

javascript - 将 HTTP Basic Auth 添加到 Webpack Dev Server

reactjs - 找不到模块 : Can't resolve 'bootstrap/dist/css/bootstrap-theme.css' in 'C:\react-form-validation-demo\src'

javascript - React Router.match 在尝试服务器渲染 React 元素时没有回调参数

html - Semantic-ui:更改卡片宽度?

javascript - 语义 UI 可滚动段