展开或折叠时材质 UI 自动完成旋转图标

Yas*_*sin 9 reactjs material-ui

我想在自动完成组件展开时旋转材质 UI 的自动完成图标。 在此处输入图片说明

这是自动完成的演示:https : //codesandbox.io/s/0xx573qrln

任何帮助是极大的赞赏。

小智 15

您可以使用components.DropdownIndicatorreact-select的道具。可以通过selectProps组件的 prop访问组件的当前状态。

我遇到了同样的挑战,这就是我所做的:

// Select.js

const styles = theme => ({
  dropdown: {
    transition: theme.transitions.create(["transform"], {
      duration: theme.transitions.duration.short
    })
  },
  dropdownOpen: {
    transform: "rotate(-180deg)"
  },
  dropdownClosed: {
    transform: "rotate(0)"
  }
})

function DropdownIndicator(props) {
  return (
    <KeyboardArrowDown
      className={[
        props.selectProps.classes.dropdown,
        props.selectProps.menuIsOpen
          ? props.selectProps.classes.dropdownOpen
          : props.selectProps.classes.dropdownClosed
      ]}
    />
  );
}

const components = { DropdownIndicator };

export function Select(props) {
  return <Select componenets={components} {...props} />
}
Run Code Online (Sandbox Code Playgroud)

希望你能够自己解决这个挑战。

演示(从上面的链接分叉):https : //codesandbox.io/s/material-demo-b9frk