为React语义UI中的每个选定的Dropdown项目着色

尼基塔(Nikita Vlasenko)

方法中有以下jsx代码(react-semantic-uirender

{!this.props.loading &&
      <ControlRow>
        <Grid.Column width={5}>
          <Dropdown
            multiple
            fluid
            selection
            options={myOptions}
            onChange={this.navigateToMyFunc}
          />
...
...

我正在使用styled-components样式设置元素:

https://github.com/styled-components/styled-components

不幸的是,Dropdown由于某些奇怪的环境细节,唯一的工作样式是间接来自ControlRow

const ControlsRow = styled(Grid.Row)`
  .ui.multiple.dropdown > .label {
    color: white !important;
    background-color: #2185d0;
  }
`

另请参见以下线程:用样式化组件包装时,语义ui中的下拉列表不能由多个选择类型组成

现在Dropdown,您可以看到类型为multiple每个所选项目应根据myOptions选项中指定的颜色进行着色我可以传递myOptions给,ControlRow它将使数组可以在其中访问,但是我不确定如何编写styled-components一部分:

.ui.multiple.dropdown > .label {
    color: white !important;
    background-color: ${props => props.myOptions..??};
  }

我还需要知道选择正确myOptions颜色的项目。外观如下:

在此处输入图片说明

现在,它始终是blue,但我需要根据每个选项对其进行着色。

更新资料

似乎是semantic-ui-react-按hex代码着色(仅允许使用几种常规的颜色名称)中缺少的功能-所以我将此功能发布到了他们的github

https://github.com/Semantic-Org/Semantic-UI-React/issues/3889

里卡多·洛佩斯(Ricardo Lopes)

您不需要为此使用CSS样式。与样式化组件无关的任何事情都不需要做。

SemanticUI允许您将自定义渲染功能用于标签。

您可以这样使用它:

const renderLabel = (option) => ({
  color: option.color,
  content: option.text,
})

const myOptions = [
  { text: "option one", color: "blue" },
  { text: "option two", color: "red" },
  // more options...
]

// ...

<Dropdown
  multiple
  fluid
  selection
  options={myOptions}
  onChange={this.navigateToMyFunc}
  renderLabel={renderLabel} // here
/>

假设您的选项对象具有color属性和text属性。您需要调整以适应选项对象的形状。

同样,该color属性将必须是SemanticUI中可用的标签颜色之一

const colors = [
  'red',
  'orange',
  'yellow',
  'olive',
  'green',
  'teal',
  'blue',
  'violet',
  'purple',
  'pink',
  'brown',
  'grey',
  'black',
]

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

布尔列表检查列表中的每个项目是否为假

来自分类Dev

为每个循环遍历列表时删除列表中的项目

来自分类Dev

在Qt中为项目交集定义的区域着色

来自分类Dev

从Bootstrap DropDown中获取具有特定ID的选定项目值

来自分类Dev

流星/语义UI中的错误?

来自分类Dev

语义ui下拉菜单中的内联项目

来自分类Dev

将语义ui导入到react组件中

来自分类Dev

如何将语义ui项目放入html中的段中?

来自分类Dev

在文本文件中为每个项目添加引号

来自分类Dev

语义UI-搜索选项为空白

来自分类Dev

在Fluent UI DetailsList中获取选定的项目

来自分类Dev

使用JavaScript函数使用单独的颜色为内部HTML中的每个单词着色

来自分类Dev

如何在Vue中为多个选定项目的背景着色?

来自分类Dev

在R中使用选定的颜色为像素矩阵着色

来自分类Dev

为角度ui网格中的每一列着色

来自分类Dev

无法从选定的多行Jlist中获取每个项目?

来自分类Dev

为Recycleview中的每个项目设置菜单

来自分类Dev

语义ui下拉菜单中的内联项目

来自分类Dev

将语义ui导入到react组件中

来自分类Dev

如何在python数据框中为选定的列着色?

来自分类Dev

AppAuth 语义和解析问题正在破坏 xcode 中 React Native 项目的构建

来自分类Dev

React:为数组中的每个项目创建一行

来自分类Dev

如何在 VPython 中为盒子的每个面着色?

来自分类Dev

为列表中的每个项目创建对象

来自分类Dev

在语义 UI 反应标签模块中给每个标签一个不同的颜色?

来自分类Dev

在语义 UI React 中永远不会获取 Popup 中的输入引用

来自分类Dev

语义 UI React:如何有条件地将 Form.Input 设置为 readOnly

来自分类Dev

如何将选定的语义 UI 下拉选项存储在状态中?

来自分类Dev

为 QTabWidget 中的非选定选项卡着色

Related 相关文章

  1. 1

    布尔列表检查列表中的每个项目是否为假

  2. 2

    为每个循环遍历列表时删除列表中的项目

  3. 3

    在Qt中为项目交集定义的区域着色

  4. 4

    从Bootstrap DropDown中获取具有特定ID的选定项目值

  5. 5

    流星/语义UI中的错误?

  6. 6

    语义ui下拉菜单中的内联项目

  7. 7

    将语义ui导入到react组件中

  8. 8

    如何将语义ui项目放入html中的段中?

  9. 9

    在文本文件中为每个项目添加引号

  10. 10

    语义UI-搜索选项为空白

  11. 11

    在Fluent UI DetailsList中获取选定的项目

  12. 12

    使用JavaScript函数使用单独的颜色为内部HTML中的每个单词着色

  13. 13

    如何在Vue中为多个选定项目的背景着色?

  14. 14

    在R中使用选定的颜色为像素矩阵着色

  15. 15

    为角度ui网格中的每一列着色

  16. 16

    无法从选定的多行Jlist中获取每个项目?

  17. 17

    为Recycleview中的每个项目设置菜单

  18. 18

    语义ui下拉菜单中的内联项目

  19. 19

    将语义ui导入到react组件中

  20. 20

    如何在python数据框中为选定的列着色?

  21. 21

    AppAuth 语义和解析问题正在破坏 xcode 中 React Native 项目的构建

  22. 22

    React:为数组中的每个项目创建一行

  23. 23

    如何在 VPython 中为盒子的每个面着色?

  24. 24

    为列表中的每个项目创建对象

  25. 25

    在语义 UI 反应标签模块中给每个标签一个不同的颜色?

  26. 26

    在语义 UI React 中永远不会获取 Popup 中的输入引用

  27. 27

    语义 UI React:如何有条件地将 Form.Input 设置为 readOnly

  28. 28

    如何将选定的语义 UI 下拉选项存储在状态中?

  29. 29

    为 QTabWidget 中的非选定选项卡着色

热门标签

归档