【发布时间】:2018-06-08 08:19:09
【问题描述】:
我在我的项目中使用 Material-ui 和 react。我要做的是在满足某些条件时简单地更改工具提示(每个工具提示都包含一个图标)。
ToolTipWrapper.js
import React from "react";
import { Tooltip } from "@material-ui/core";
import { CheckCircle, Error } from "@material-ui/icons";
import { green, deepOrange } from "@material-ui/core/colors";
class TooltipWrapper extends React.Component {
render() {
return this.props.error.length === 0 ? (
<Tooltip title="meet all requirements" placement="bottom-start">
<CheckCircle style={{ color: green[400] }} />
</Tooltip>
) : (
<Tooltip title="Not meet all requirements" placement="bottom-start">
<Error style={{ color: deepOrange[400] }} />
</Tooltip>
);
}
}
export default TooltipWrapper;
index.js
import React from "react";
import { render } from "react-dom";
import TooltipWrapper from "./TooltipWrapper.js";
const styles = {
fontFamily: "sans-serif",
textAlign: "center"
};
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
error: []
};
}
handleClick = () => {
this.setState({
error: [123]
});
};
render() {
return (
<div style={styles}>
<TooltipWrapper error={this.state.error} />
<button onClick={this.handleClick}>change</button>
</div>
);
}
}
render(<App />, document.getElementById("root"));
请在codesandbox中查看这个demo:demo link
现在的问题是,通过单击按钮从第一个工具提示更改后,第二个工具提示将无法按预期显示。第二个tooltip的位置神奇地移到了左上角,很奇怪。
感谢您的帮助。
【问题讨论】:
-
你使用的是旧版本的material-ui-next
-
没有。演示中的依赖:@material-ui/core 1.2.0; @material-ui/icons 1.1.0
标签: javascript reactjs material-ui