openByClickOn 按钮未出现在 react-portal v4 中
openByClickOn Button Not Appearing In react-portal v4
由于最近 React
升级到 16.8.6,一直在尝试从 react-portal
从 v2 迁移到 v4。
Portal
有问题,应该在 openByClickOn
上加载一个按钮(如下所示),但什么也没有出现。 openByClickOn
的使用是否有任何重大变化?
<Portal ref={c => this.findDialog = c} closeOnEsc openByClickOn={<div className="header-button" style={{background: `#78808B no-repeat center right`}}>FIND TICKET</div>} style={{width: '480px'}}>
<DialogTitle style={{fontSize: '25px', color: 'black'}}>Find Ticket</DialogTitle>
<DialogContent>
<Field name="ticketNo" component={renderField} type="text" label="Ticket No." onKeyUp={() => this.setState({error: ''})}
style={{width: '100%'}}/>
{this.state.error && <p style={{color: '#d50000'}}>{this.state.error}</p>}
</DialogContent>
<DialogActions>
<Button type='button' onClick={handleSubmit(this.find.bind(this))} disabled={pristine || submitting}>Find</Button>
<Button type='button' onClick={() => this.close()}>Close</Button>
</DialogActions>
</Portal>
预期结果:显示一个 div 按钮,单击该按钮可启动对话框。
已确认 openByClickOn
在 react-portal
v4.
中不再受支持
好用就应该支持。尤其是当想要一起包含一个按钮并处理单击时对话框的打开时。
为了克服这个问题,我花了很大的力气修改代码。 HTML 按钮需要先在父组件中添加,然后处理事件。
由于最近 React
升级到 16.8.6,一直在尝试从 react-portal
从 v2 迁移到 v4。
Portal
有问题,应该在 openByClickOn
上加载一个按钮(如下所示),但什么也没有出现。 openByClickOn
的使用是否有任何重大变化?
<Portal ref={c => this.findDialog = c} closeOnEsc openByClickOn={<div className="header-button" style={{background: `#78808B no-repeat center right`}}>FIND TICKET</div>} style={{width: '480px'}}>
<DialogTitle style={{fontSize: '25px', color: 'black'}}>Find Ticket</DialogTitle>
<DialogContent>
<Field name="ticketNo" component={renderField} type="text" label="Ticket No." onKeyUp={() => this.setState({error: ''})}
style={{width: '100%'}}/>
{this.state.error && <p style={{color: '#d50000'}}>{this.state.error}</p>}
</DialogContent>
<DialogActions>
<Button type='button' onClick={handleSubmit(this.find.bind(this))} disabled={pristine || submitting}>Find</Button>
<Button type='button' onClick={() => this.close()}>Close</Button>
</DialogActions>
</Portal>
预期结果:显示一个 div 按钮,单击该按钮可启动对话框。
已确认 openByClickOn
在 react-portal
v4.
好用就应该支持。尤其是当想要一起包含一个按钮并处理单击时对话框的打开时。
为了克服这个问题,我花了很大的力气修改代码。 HTML 按钮需要先在父组件中添加,然后处理事件。