import React from 'react'; import ReactDOM from 'react-dom'; import Tag from '..'; const { Group: TagGroup, Selectable: SelectableTag } = Tag; const dataSource = [ 'tag 1', 'tag 2', 'tag 3', 'disabled', 'disabled & checked', ]; interface PageStates { value: Array; singleValue: string; } class Demo extends React.Component<{}, PageStates> { constructor(props) { super(props); this.state = { value: [ 'tag 1', 'disabled & checked' ], singleValue: 'tag 2', }; } handleChange(name, checked) { const { value } = this.state; const next = checked ? [ ...value, name ] : value.filter(n => n !== name); this.setState({ value: next }); } handleChangeSingle(name, checked) { const { singleValue } = this.state; //eslint-disable-line const next = checked ? name : ''; this.setState({ singleValue: next }); } renderTagList(props) { const { value } = this.state; return dataSource.map((name, i) => ( -1} disabled={i > 2} onChange={this.handleChange.bind(this, name)} {...props} size='large' > {name} )); } renderTagList2(props) { const { value } = this.state; return dataSource.map((name, i) => ( -1} disabled={i > 2} onChange={this.handleChange.bind(this, name)} size='xs' > {name} )); } renderTagListSingle(props) { const { singleValue } = this.state; return dataSource.map((name, i) => ( 2} onChange={this.handleChangeSingle.bind(this, name)} {...props} size='xs' > {name} )); } render() { return (

多选

{this.renderTagList({ type: 'normal' })} {this.renderTagList({ type: 'primary' })}
{this.renderTagList2({ type: 'normal' })} {this.renderTagList2({ type: 'primary' })}

受控&单选

{this.renderTagListSingle({ type: 'primary' })} CloseableTag
); } } ReactDOM.render(, document.getElementById('tag-demo-5'));