Skip to main content

TagSelect

标签选择组件。

  • 支持选择多个标签
  • 支持展开收起
  • 支持全选功能

引入​

import {components} from 'baidu-acu-react-common';

const TagSelect = components.TagSelect;

基本用法​

function App() {
const TYPE_DATASOURCE = [
{value: 'cat1', text: '类目一'},
{value: 'cat2', text: '类目二'},
{value: 'cat3', text: '类目三'},
{value: 'cat4', text: '类目四'},
{value: 'cat5', text: '类目五'},
{value: 'cat6', text: '类目六'},
{value: 'cat7', text: '类目七'},
{value: 'cat8', text: '类目八'},
{value: 'cat9', text: '类目九'},
{value: 'cat10', text: '类目十'},
{value: 'cat11', text: '类目十一'},
{value: 'cat12', text: '类目十二'},
{value: 'cat13', text: '类目十三'},
{value: 'cat14', text: '类目十四'}
];

return (
<TagSelect value={['cat1', 'cat3']}>
{TYPE_DATASOURCE.map(type => (
<TagSelect.Option value={type.value}>{type.text}</TagSelect.Option>
))}
</TagSelect>
);
}

支持打开收起​

function App() {
const TYPE_DATASOURCE = [
{value: 'cat1', text: '类目一'},
{value: 'cat2', text: '类目二'},
{value: 'cat3', text: '类目三'},
{value: 'cat4', text: '类目四'},
{value: 'cat5', text: '类目五'},
{value: 'cat6', text: '类目六'},
{value: 'cat7', text: '类目七'},
{value: 'cat8', text: '类目八'},
{value: 'cat9', text: '类目九'},
{value: 'cat10', text: '类目十'},
{value: 'cat11', text: '类目十一'},
{value: 'cat12', text: '类目十二'},
{value: 'cat13', text: '类目十三'},
{value: 'cat14', text: '类目十四'}
];

return (
<TagSelect expandable>
{TYPE_DATASOURCE.map(type => (
<TagSelect.Option value={type.value}>{type.text}</TagSelect.Option>
))}
</TagSelect>
);
}

单选模式​

function App() {
const TYPE_DATASOURCE = [
{value: 'cat1', text: '类目一'},
{value: 'cat2', text: '类目二'},
{value: 'cat3', text: '类目三'},
{value: 'cat4', text: '类目四'},
{value: 'cat5', text: '类目五'},
{value: 'cat6', text: '类目六'},
{value: 'cat7', text: '类目七'},
{value: 'cat8', text: '类目八'},
{value: 'cat9', text: '类目九'},
{value: 'cat10', text: '类目十'},
{value: 'cat11', text: '类目十一'},
{value: 'cat12', text: '类目十二'},
{value: 'cat13', text: '类目十三'},
{value: 'cat14', text: '类目十四'}
];

return (
<TagSelect mode="single" expandable>
{TYPE_DATASOURCE.map(type => (
<TagSelect.Option value={type.value}>{type.text}</TagSelect.Option>
))}
</TagSelect>
);
}

onChange 事件​

function App() {
const TYPE_DATASOURCE = [
{value: 'cat1', text: '类目一'},
{value: 'cat2', text: '类目二'},
{value: 'cat3', text: '类目三'},
{value: 'cat4', text: '类目四'},
{value: 'cat5', text: '类目五'},
{value: 'cat6', text: '类目六'},
{value: 'cat7', text: '类目七'},
{value: 'cat8', text: '类目八'},
{value: 'cat9', text: '类目九'},
{value: 'cat10', text: '类目十'},
{value: 'cat11', text: '类目十一'},
{value: 'cat12', text: '类目十二'},
{value: 'cat13', text: '类目十三'},
{value: 'cat14', text: '类目十四'}
];

function handleTagChange(value) {
console.log(value);
}

return (
<TagSelect onChange={handleTagChange} expandable>
{TYPE_DATASOURCE.map(type => (
<TagSelect.Option value={type.value}>{type.text}</TagSelect.Option>
))}
</TagSelect>
);
}

API​

参数说明类型默认值
mode模式multiple〡singlemultiple
hideCheckAll是否隐藏全选按钮booleanfalse
expandable是否支持展开收起功能booleanfalse
defaultValue默认数据any[]--
value默认数据any[]--
className样式名string--
style内联样式React.CSSProperties--
children子节点any--
onChange数据修改后事件function(value: any[]) => void

参考文档​

https://react-app-common.now.baidu-int.com/#/%E9%80%9A%E7%94%A8%E7%BB%84%E4%BB%B6/TagSelect