javascript - 如何以阶梯形式管理元素的可见性
问题描述
我有一个带有步骤的表格。我希望在用户通过一个步骤后出现其他元素。一次只能看到一个步骤。
我尝试使用布尔状态变量,但没有任何运气。所有步骤都在通过一个之后出现。
return (
<UserConsumer>
{value => {
//const {dispatch} = value;
return (
<div>
<Animation pose={visible ? 'visible' : 'hidden'}>
<div className="card col-md-12 mb-4">
<div className="card-body">
<form onSubmit={this.changeVisibility}>
<div className="form-group">
<Text text="Adınız ve Soyadınız" />
</div>
<div className="form-group">
<Input ph="Ad ve Soyad" />
</div>
<Button clickText="İleri" />
</form>
</div>
</div>
</Animation>
<Animation pose={!visible ? 'visible' : 'hidden'}>
{queue.push(
<div className="card col-md-12 mb-4">
<div className="card-body">
<form onSubmit={this.changeVisibility}>
<div className="form-group">
<Text text="E-mail adresiniz" />
</div>
<div className="form-group">
<Input ph="E-mail" />
</div>
<Button clickText="İleri" />
</form>
</div>
</div>,
)}
</Animation>
</div>
)
}}
</UserConsumer>
)
解决方案
我根据您的评论来回答这个问题,它隐藏了第一个但不显示第二个,因为您正在调用将返回新数组长度的推送。因此,它将显示一个数字,而不是来自第二个动画组件的元素,修复:
return (
<UserConsumer>
{value => {
//const {dispatch} = value;
return (
<div>
<Animation pose={visible ? 'visible' : 'hidden'}>
<div className="card col-md-12 mb-4">
<div className="card-body">
<form onSubmit={this.changeVisibility}>
<div className="form-group">
<Text text="Adınız ve Soyadınız" />
</div>
<div className="form-group">
<Input ph="Ad ve Soyad" />
</div>
<Button clickText="İleri" />
</form>
</div>
</div>
</Animation>
<Animation pose={!visible ? 'visible' : 'hidden'}>
<div className="card col-md-12 mb-4">
<div className="card-body">
<form onSubmit={this.changeVisibility}>
<div className="form-group">
<Text text="E-mail adresiniz" />
</div>
<div className="form-group">
<Input ph="E-mail" />
</div>
<Button clickText="İleri" />
</form>
</div>
</div>
</Animation>
</div>
)
}}
</UserConsumer>
)
推荐阅读
- android - 如何在 recyclerView 列表顶部添加新条目
- python - 在 conda 上运行 OSMnx 的问题
- c++ - 在同一 if 语句中检查空指针 && 指针-> 成员值
- sql - 使用 SQL 计算更新查询中的累积值
- python - 使用 PyQt 从 QGIS 插件中拍照
- firebase - 如何在访问 Firebase 时实现日期范围?
- java - 如何在 android 中添加视图(动态),如下图所示?
- css - CSS :host 与 Web 组件中的 CSS 类
- r - 有没有更有效的方法从 B 数据框中搜索值并插入到 A 数据框中?(R 语言)
- wpf - 如何在WPF中制作带圆角的网格