You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
---
|
|
|
|
order: 22
|
|
|
|
title:
|
|
|
|
zh-CN: 隐藏已选择选项
|
|
|
|
en-US: Hide Already Selected
|
|
|
|
---
|
|
|
|
|
|
|
|
## zh-CN
|
|
|
|
|
|
|
|
隐藏下拉列表中已选择的选项。
|
|
|
|
|
|
|
|
## en-US
|
|
|
|
|
|
|
|
Hide already selected options in the dropdown.
|
|
|
|
|
|
|
|
```jsx
|
|
|
|
import { Select } from 'antd';
|
|
|
|
|
|
|
|
const OPTIONS = ['Apples', 'Nails', 'Bananas', 'Helicopters'];
|
|
|
|
|
|
|
|
class SelectWithHiddenSelectedOptions extends React.Component {
|
|
|
|
state = {
|
|
|
|
selectedItems: [],
|
|
|
|
};
|
|
|
|
|
|
|
|
handleChange = selectedItems => {
|
|
|
|
this.setState({ selectedItems });
|
|
|
|
};
|
|
|
|
|
|
|
|
render() {
|
|
|
|
const { selectedItems } = this.state;
|
|
|
|
const filteredOptions = OPTIONS.filter(o => !selectedItems.includes(o));
|
|
|
|
return (
|
|
|
|
<Select
|
|
|
|
mode="multiple"
|
|
|
|
placeholder="Inserted are removed"
|
|
|
|
value={selectedItems}
|
|
|
|
onChange={this.handleChange}
|
|
|
|
style={{ width: '100%' }}
|
|
|
|
>
|
|
|
|
{filteredOptions.map(item => (
|
|
|
|
<Select.Option key={item} value={item}>
|
|
|
|
{item}
|
|
|
|
</Select.Option>
|
|
|
|
))}
|
|
|
|
</Select>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ReactDOM.render(<SelectWithHiddenSelectedOptions />, mountNode);
|
|
|
|
```
|