reactjs - 使用 reactjs 禁用或激活按钮
问题描述
在我的应用程序中有两个组件,称为 Employee 和 EmplyeeButtonGroup。
export default class Employee extends Component {
render() {
return (
<h1>Permanent</h1>
<EmplyeeButtonGroup />
<EmplyeeButtonGroup />
<h1>Temporary</h1>
<EmplyeeButtonGroup />
<EmplyeeButtonGroup />
)}
}
export default class EmplyeeButtonGroup extends Component {
render() {
return (
<Button>Add</Button>
<Button>Delete</Button>
<Button>Send</Button>
)}
}
在<h1>Temporary</h1>
此标题下,我想禁用删除和添加按钮。我可以通过为临时员工和永久员工创建两个组件来做到这一点。但我正在寻找另一种方式。我如何使用反应来做到这一点?
提前致谢。
解决方案
class Employee extends React.Component {
//...
render() {
return (
<React.Fragment>
<h1>Permanent</h1>
{/* Just add whatever buttons want to enable as a prop */}
<EmplyeeButtonGroup add delete send />
<h1>Temporary</h1>
<EmplyeeButtonGroup send />
</React.Fragment>
);
}
}
class EmplyeeButtonGroup extends React.Component {
//...
render() {
return (
<React.Fragment>
<button disabled={!this.props.add}>
Add
</button>
<button disabled={!this.props.delete}>
Delete
</button>
<button disabled={!this.props.send}>
Send
</button>
</React.Fragment>
);
}
}
function App() {
return (
<div className="App">
<Employee />
</div>
)
}
ReactDOM.render(<App /> , document.getElementById('root'))
<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<div id="root"></div>
推荐阅读
- php - 获取不到图片的真实姓名getClientOrginalName()
- python - 我可以使用 mlflow python API 注册 spark UDF 并在 Spark scala 代码中使用 UDF 吗?
- arrays - 选择 JSON 数组的列并将元素显示为新列
- docker - 从 Docker 运行时 Grafana 配置卷映射不起作用
- html - 引导汉堡菜单与移动视图上的导航项目折叠
- sql - 在 PostgreSQL 中使用 't' 'f' 表示更新布尔列
- ios - Audiokit 4.9.5 在 xcode 11.4 + swift 5.2 中崩溃,没有有用的错误消息
- laravel - 无法复制具有唯一 slug 字段的模型
- asp.net-core - 如何使 MS Identity SPA 示例适用于组织和个人帐户
- javascript - 如何将变量从 Extjs 发送到 HTML