单击语义 UI React 中的下拉项时如何触发模式?
How to trigger a modal when clicking on a dropdown item in Semantic UI React?
我有一个下拉菜单和一个模态框,我想在单击其中一个下拉项时显示模态框。可能吗?我无法找到这样做的方法,因为我无法获得目标 DropdownItem,这是 Modal 的触发道具所需要的。
export class Demo extends React.Component<{}, {}> {
private options = [
{ text: 'doNothing', value: 'doNothing' },
{ text: 'openModal', value: 'openModal' },
]
render() {
return (
<div>
<Dropdown
fluid
selection
options={this.options}
defaultValue={this.options[0].value} />
<Modal trigger={<Button>trigger</Button>}>
<Modal.Header>Select a Photo</Modal.Header>
<Modal.Content image>
<Modal.Description>
<p>Some contents.</p>
</Modal.Description>
</Modal.Content>
</Modal>
</div>
)
}
}
您可以使用 Modal
的道具 open
以编程方式控制它。当您检测到所需的 Dropdown
项目被适当地单击时 setState
。
这些行中的一些内容。
import * as React from 'react';
export class Demo extends React.Component<{}, {}> {
state = {
options: [
{ text: 'doNothing', value: 'doNothing' },
{ text: 'openModal', value: 'openModal' }
],
open: false
};
onClose = () => this.setState({open: false});
onChange = (selected) => {
// if the correct one is selected then...
// this.setState({open: true});
}
render() {
return (
<div>
<Dropdown
fluid
selection
options={this.options}
onChange={this.onChange}
defaultValue={this.options[0].value} />
<Modal open={this.state.open} onClose={this.onClose}>
<Modal.Header>Select a Photo</Modal.Header>
<Modal.Content image>
<Modal.Description>
<p>Some contents.</p>
</Modal.Description>
</Modal.Content>
</Modal>
</div>
)
}
}
我有一个下拉菜单和一个模态框,我想在单击其中一个下拉项时显示模态框。可能吗?我无法找到这样做的方法,因为我无法获得目标 DropdownItem,这是 Modal 的触发道具所需要的。
export class Demo extends React.Component<{}, {}> {
private options = [
{ text: 'doNothing', value: 'doNothing' },
{ text: 'openModal', value: 'openModal' },
]
render() {
return (
<div>
<Dropdown
fluid
selection
options={this.options}
defaultValue={this.options[0].value} />
<Modal trigger={<Button>trigger</Button>}>
<Modal.Header>Select a Photo</Modal.Header>
<Modal.Content image>
<Modal.Description>
<p>Some contents.</p>
</Modal.Description>
</Modal.Content>
</Modal>
</div>
)
}
}
您可以使用 Modal
的道具 open
以编程方式控制它。当您检测到所需的 Dropdown
项目被适当地单击时 setState
。
这些行中的一些内容。
import * as React from 'react';
export class Demo extends React.Component<{}, {}> {
state = {
options: [
{ text: 'doNothing', value: 'doNothing' },
{ text: 'openModal', value: 'openModal' }
],
open: false
};
onClose = () => this.setState({open: false});
onChange = (selected) => {
// if the correct one is selected then...
// this.setState({open: true});
}
render() {
return (
<div>
<Dropdown
fluid
selection
options={this.options}
onChange={this.onChange}
defaultValue={this.options[0].value} />
<Modal open={this.state.open} onClose={this.onClose}>
<Modal.Header>Select a Photo</Modal.Header>
<Modal.Content image>
<Modal.Description>
<p>Some contents.</p>
</Modal.Description>
</Modal.Content>
</Modal>
</div>
)
}
}