可输入可设置 tag
的编辑框。
$ npm i @alitajs/input-tag
or
$ yarn add @alitajs/input-tag
参数 |
说明 |
类型 |
默认值 |
是否必填 |
value |
值 |
ValueItemProps[] |
[] |
是 |
onChange |
值改变事件 |
(res: ValueItemProps) => void |
- |
是 |
mode |
类型 |
tags |multiple |combobox |
tags |
否 |
placeholder |
placeholder |
string |
请选择 |
否 |
style |
样式 |
React.CSSProperties |
{} |
否 |
disabled |
不可编辑 |
boolean |
false |
否 |
onClick |
点击事件 |
() => void |
- |
否 |
addOnAfter |
后缀 |
string | React.ReactNode |
- |
否 |
editable |
输入框是否可编辑 |
boolean |
- |
否 |
参数 |
说明 |
类型 |
默认值 |
是否必填 |
label |
文本 |
string |
- |
是 |
value |
值 |
string |
- |
是 |
type |
类型 |
'text'|'tag' |
- |
是 |
disabled |
是否可编辑 |
boolean |
false |
否 |
import { Button } from 'antd';
import type { ValueItemProps } from '@alitajs/input-tag';
import Select from '@alitajs/input-tag';
export const getRandom = () => {
const val = `${Math.random().toString(36).slice(2, 6)}`;
return val;
};
const Test: React.FC = () => {
const [value, setValue] = React.useState<ValueItemProps[]>([
{ label: '111', value: '111', type: 'tag', disabled: true },
{ label: '222', value: '222', type: 'text' },
{ label: '333', value: '333', type: 'tag' },
]);
const addTag = () => {
const random = getRandom();
const newVal = [...value];
newVal.push({ label: random, value: random, type: 'tag' });
setValue(newVal);
};
return (
<div>
<Select
placeholder="请选择"
mode="tags"
style={{ width: 500 }}
value={value}
onChange={(val: ValueItemProps[]) => {
setValue(val);
}}
onClick={() => console.log('this is click')}
/>
<Button onClick={addTag}>新增一个 tag</Button>
</div>
);
};
export default Test;