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

时间:2018-11-29 11:10:00

标签: reactjs material-ui

我想在扩展自动完成组件时旋转材质UI的自动完成图标。 enter image description here

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

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用react-select的components.DropdownIndicator属性。 可以通过组件的selectProps属性访问组件的当前状态。

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

// 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} />
}

希望您能够自己解决挑战。

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