在框外单击时我的框会关闭,这使我丢失了所有输入。我希望我的框仅在单击取消按钮时关闭。我不确定是什么让它在外面点击时关闭。有什么帮助吗?
我正在使用@material-ui/core
_close() {
DeviceCreationActions.close();
}
render() {
const actions = [
<Button
id="device-create-dialog-close"
key="device-create-dialog-close"
onClick={this._close}
>
{this.context.intl.formatMessage({id: 'Cancel'})}
</Button>
];
if (0 < this.state.stepIndex) {
actions.push(<Button
id="device-create-dialog-back"
key="device-create-dialog-back"
onClick={this._previousStep.bind(this)}
>
{this.context.intl.formatMessage({id: 'Back'})}
</Button>
);
}
if (
(1 >= this.state.stepIndex && 0 < this.state['formStep' + this.state.stepIndex].length) ||
(0 < this.state.stepIndex)
) {
actions.push(<Button
id="device-create-dialog-next"
key="device-create-dialog-next"
onClick={2 === this.state.stepIndex ? this._save.bind(this) : this._nextStep.bind(this)}
>
{this.context.intl.formatMessage({id: 2 === this.state.stepIndex ? 'Create' : 'Next'})}
</Button>
);
}
Run Code Online (Sandbox Code Playgroud) 我得到这个函数来从.json文件中获取一些健身课程.
filtrarClase(dia, hora) {
let data = this.state.data
return data.filter(clase => {
if ((clase.dia === dia) && (clase.horaclase === hora)) {
return clase.actividad
} else {
return false
}
})
.map((clase,i) => {
return (
<li key={i} className={clase.estilo}>{clase.actividad}
<p className="duracion">{clase.duracion}</p>
<p className="sala">{clase.hoy} {clase.sala}</p>
</li>
)
})
}
Run Code Online (Sandbox Code Playgroud)
没关系,只要通过一些"日和小时"就会返回正确的课程.但后来我找不到循环这个功能的方法......只能做到这一点****
<div className="horario-container">
<ul className="horario-hora">{horas[0]}</ul>
<ul className="horario-item">{this.filtrarClase(1, horas[0])}</ul>
<ul className="horario-item">{this.filtrarClase(2, horas[0])}</ul>
<ul className="horario-item">{this.filtrarClase(3, horas[0])}</ul>
<ul className="horario-item">{this.filtrarClase(4, horas[0])}</ul>
<ul className="horario-item">{this.filtrarClase(5, horas[0])}</ul>
<ul className="horario-item">{this.filtrarClase(6, horas[0])}</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
一遍又一遍...... 17次..
<div className="horario-container">
<ul className="horario-hora">{horas[1]}</ul>
<ul className="horario-item">{this.filtrarClase(1, horas[16])}</ul> …Run Code Online (Sandbox Code Playgroud) javascript ×2
reactjs ×2
dialog ×1
ecmascript-6 ×1
for-loop ×1
loops ×1
material-ui ×1
modal-dialog ×1