如何使用react-select为选择使用自定义样式的打字稿

古赛亚尼

我想知道如何使用react-select将类型很好地添加到Select中。

到目前为止,该组件如下所示:

const Select: React.FC<Select> = (
  {defaultValue, onChange, options}: Select) => (
  <ReactSelect
    styles={selectStyles}
    …
  </ReactSelect>

以及的定义selectStyles

interface HoverProps {
  bowShadow: string
  border: string
}

interface ControlComponentCSSProperties extends CSSProperties {
  '&:hover': HoverProps
}

const selectStyles = {
  control: (
    provided: CSSProperties,
    state: Props<{label: string; value: string}> | Props<Record<string, unknown>>
  ): ControlComponentCSSProperties => ({
    ...provided,
    '&:hover': {
      bowShadow: 'none',
      border: 'none',
    },
    border: 'none',
    borderRadius: input.border.radius,
    borderBottomLeftRadius: state.menuIsOpen ? 0 : input.border.radius,
    borderBottomRightRadius: state.menuIsOpen ? 0 : input.border.radius,
    …

这样可以通过,tsc但是肯定有更简单的方法可以键入该selectStyles对象。

感谢您的帮助,使我朝着更好的方向发展。干杯!

赫斯卡尔附近

就在这里。您还可以键入整个样式对象,从而无需手动键入每个参数。但在此之前,您需要安装@types/react-select

import Select, { StylesConfig } from 'react-select';

const selectStyle: StylesConfig = {
  control: (provided, state) => {
    // provided has CSSProperties type
    // state has ControlProps<{}> type

    // return type is CSSProperties which means this line will throw
    // error if uncommented
    // return false;

    return {
      ...provided,
      ...yourCustomStyle,
    };
  },
}

const Select: React.FC<Select> = (
  {defaultValue, onChange, options}: Select) => (
  <ReactSelect
    styles={selectStyles}
    …
  </ReactSelect>
)

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用打字稿在猫鼬模型中定义自定义查询助手?

来自分类Dev

为什么我不能使用打字稿为我的自定义界面扩展 HTMLElement 类型?

来自分类Dev

在进行单元测试时如何调用React组件的自定义方法。我正在使用打字稿

来自分类Dev

使用打字稿时如何添加自定义扩展名

来自分类Dev

带有自定义react钩子的打字稿

来自分类Dev

如何正确导入打字稿中的自定义类型

来自分类Dev

使用打字稿自定义角度6中的Ngx-toastr

来自分类Dev

打字稿:使用“ this”获取自定义界面的类型?

来自分类Dev

自定义转换器后,打字稿仍然使用对旧导入的引用

来自分类Dev

自定义转换器后,打字稿仍然使用对旧导入的引用

来自分类Dev

自定义转换器后,打字稿仍然使用对旧导入的引用

来自分类Dev

自定义转换器后,打字稿仍然使用对旧导入的引用

来自分类Dev

使用ng消息和打字稿的自定义验证指令

来自分类Dev

如何在TextView上使用自定义选择器样式

来自分类Dev

无法使用React和Bootstrap创建自定义样式

来自分类Dev

如何将自定义样式设置为antd Select?

来自分类Dev

对crouton库使用自定义样式

来自分类Dev

如何在React样式的组件中使用自定义图标?

来自分类Dev

故事书-使用自定义Webpack / Babel在打字稿项目中不会显示任何故事

来自分类Dev

使用打字稿创建自定义反应路由组件。类型上不存在属性“路径”... RouteProps

来自分类Dev

无法使用打字稿为通用比较功能定义类型

来自分类Dev

如何在angular 2中包含打字稿自定义类型定义?

来自分类Dev

如何使用自定义样式的XML内容嵌入iframe?

来自分类Dev

如何使用自定义样式的XML内容嵌入iframe?

来自分类Dev

反应原生如何使用道具自定义样式

来自分类Dev

如何使用自定义顺序为每个子组选择第一行?

来自分类Dev

如何使用自定义顺序为每个子组选择第一行?

来自分类Dev

如何使用jQuery扩展方法为元素或类选择器创建自定义插件

来自分类Dev

如何使用自定义概率分布选择随机选择

Related 相关文章

  1. 1

    如何使用打字稿在猫鼬模型中定义自定义查询助手?

  2. 2

    为什么我不能使用打字稿为我的自定义界面扩展 HTMLElement 类型?

  3. 3

    在进行单元测试时如何调用React组件的自定义方法。我正在使用打字稿

  4. 4

    使用打字稿时如何添加自定义扩展名

  5. 5

    带有自定义react钩子的打字稿

  6. 6

    如何正确导入打字稿中的自定义类型

  7. 7

    使用打字稿自定义角度6中的Ngx-toastr

  8. 8

    打字稿:使用“ this”获取自定义界面的类型?

  9. 9

    自定义转换器后,打字稿仍然使用对旧导入的引用

  10. 10

    自定义转换器后,打字稿仍然使用对旧导入的引用

  11. 11

    自定义转换器后,打字稿仍然使用对旧导入的引用

  12. 12

    自定义转换器后,打字稿仍然使用对旧导入的引用

  13. 13

    使用ng消息和打字稿的自定义验证指令

  14. 14

    如何在TextView上使用自定义选择器样式

  15. 15

    无法使用React和Bootstrap创建自定义样式

  16. 16

    如何将自定义样式设置为antd Select?

  17. 17

    对crouton库使用自定义样式

  18. 18

    如何在React样式的组件中使用自定义图标?

  19. 19

    故事书-使用自定义Webpack / Babel在打字稿项目中不会显示任何故事

  20. 20

    使用打字稿创建自定义反应路由组件。类型上不存在属性“路径”... RouteProps

  21. 21

    无法使用打字稿为通用比较功能定义类型

  22. 22

    如何在angular 2中包含打字稿自定义类型定义?

  23. 23

    如何使用自定义样式的XML内容嵌入iframe?

  24. 24

    如何使用自定义样式的XML内容嵌入iframe?

  25. 25

    反应原生如何使用道具自定义样式

  26. 26

    如何使用自定义顺序为每个子组选择第一行?

  27. 27

    如何使用自定义顺序为每个子组选择第一行?

  28. 28

    如何使用jQuery扩展方法为元素或类选择器创建自定义插件

  29. 29

    如何使用自定义概率分布选择随机选择

热门标签

归档