TagSelect标签选择器

可进行多选,带折叠收起和展开更多功能,常用于对列表进行筛选。

引用方式:

  1. import TagSelect from 'ant-design-pro/lib/TagSelect';

详细使用方式请参照:独立使用 pro 组件

代码演示

TagSelect 标签选择器 - 图1

基础样例

结合 TagTagSelect 组件,方便的应用于筛选类目的业务场景中。

  1. import TagSelect from 'ant-design-pro/lib/TagSelect';
  2. function handleFormSubmit(checkedValue) {
  3. console.log(checkedValue);
  4. }
  5. ReactDOM.render(
  6. <TagSelect onChange={handleFormSubmit}>
  7. <TagSelect.Option value="cat1">类目一</TagSelect.Option>
  8. <TagSelect.Option value="cat2">类目二</TagSelect.Option>
  9. <TagSelect.Option value="cat3">类目三</TagSelect.Option>
  10. <TagSelect.Option value="cat4">类目四</TagSelect.Option>
  11. <TagSelect.Option value="cat5">类目五</TagSelect.Option>
  12. <TagSelect.Option value="cat6">类目六</TagSelect.Option>
  13. </TagSelect>,
  14. mountNode
  15. );

TagSelect 标签选择器 - 图2

可展开和收起

使用 expandable 属性,让标签组可以收起,避免过高。

  1. import TagSelect from 'ant-design-pro/lib/TagSelect';
  2. function handleFormSubmit(checkedValue) {
  3. console.log(checkedValue);
  4. }
  5. ReactDOM.render(
  6. <TagSelect onChange={handleFormSubmit} expandable>
  7. <TagSelect.Option value="cat1">类目一</TagSelect.Option>
  8. <TagSelect.Option value="cat2">类目二</TagSelect.Option>
  9. <TagSelect.Option value="cat3">类目三</TagSelect.Option>
  10. <TagSelect.Option value="cat4">类目四</TagSelect.Option>
  11. <TagSelect.Option value="cat5">类目五</TagSelect.Option>
  12. <TagSelect.Option value="cat6">类目六</TagSelect.Option>
  13. <TagSelect.Option value="cat7">类目七</TagSelect.Option>
  14. <TagSelect.Option value="cat8">类目八</TagSelect.Option>
  15. <TagSelect.Option value="cat9">类目九</TagSelect.Option>
  16. <TagSelect.Option value="cat10">类目十</TagSelect.Option>
  17. <TagSelect.Option value="cat11">类目十一</TagSelect.Option>
  18. <TagSelect.Option value="cat12">类目十二</TagSelect.Option>
  19. </TagSelect>,
  20. mountNode
  21. );

TagSelect 标签选择器 - 图3

受控模式

结合 TagTagSelect 组件,方便的应用于筛选类目的业务场景中。

  1. import { Button } from 'antd';
  2. import TagSelect from 'ant-design-pro/lib/TagSelect';
  3. class Demo extends React.Component {
  4. state = {
  5. value: ['cat1'],
  6. };
  7. handleFormSubmit = value => {
  8. this.setState({
  9. value,
  10. });
  11. };
  12. checkAll = () => {
  13. this.setState({
  14. value: ['cat1', 'cat2', 'cat3', 'cat4', 'cat5', 'cat6'],
  15. });
  16. };
  17. render() {
  18. return (
  19. <div>
  20. <Button onClick={this.checkAll}>全部</Button>
  21. <div
  22. style={{
  23. padding: 16,
  24. }}
  25. >
  26. <TagSelect hideCheckAll={true} value={this.state.value} onChange={this.handleFormSubmit}>
  27. <TagSelect.Option value="cat1">类目一</TagSelect.Option>
  28. <TagSelect.Option value="cat2">类目二</TagSelect.Option>
  29. <TagSelect.Option value="cat3">类目三</TagSelect.Option>
  30. <TagSelect.Option value="cat4">类目四</TagSelect.Option>
  31. <TagSelect.Option value="cat5">类目五</TagSelect.Option>
  32. <TagSelect.Option value="cat6">类目六</TagSelect.Option>
  33. </TagSelect>
  34. </div>
  35. </div>
  36. );
  37. }
  38. }
  39. ReactDOM.render(<Demo />, mountNode);

API

TagSelect

参数说明类型默认值
value选中的项string[] | number[]
defaultValue默认选中的项string[] | number[]
onChange标签选择的回调函数Function(checkedTags)
expandable是否展示 展开/收起 按钮Booleanfalse
hideCheckAll隐藏 全部 按钮Booleanfalse

TagSelectOption

参数说明类型默认值
valueTagSelect 的值string| number-
childrentag 的内容string | ReactNode-