From 0dd75b352a349d02749332758b7addb1a35a6728 Mon Sep 17 00:00:00 2001 From: WmW <48251883+nullptr-z@users.noreply.github.com> Date: Fri, 1 Apr 2022 11:58:31 +0800 Subject: [PATCH] =?UTF-8?q?style(SearchSelect):=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E5=A4=A7=E5=B0=8F=E5=B0=BA=E5=AF=B8=E6=A0=B7=E5=BC=8F=20(#732)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/react-search-select/README.md | 62 +++++++++++++++++++ packages/react-search-select/src/index.tsx | 14 ++++- .../react-search-select/src/style/index.less | 22 ++++++- packages/react-transfer/README.md | 26 +++++--- 4 files changed, 110 insertions(+), 14 deletions(-) diff --git a/packages/react-search-select/README.md b/packages/react-search-select/README.md index a6de39ac9d..e9085d8169 100644 --- a/packages/react-search-select/README.md +++ b/packages/react-search-select/README.md @@ -68,6 +68,68 @@ const Demo = () => { ReactDOM.render(, _mount_); ``` +## 尺寸 + +通过 size 属性设置选择器的尺寸,提供三个尺寸参数设置。 + + +```jsx +import ReactDOM from 'react-dom'; +import { SearchSelect,Row,Col } from 'uiw'; + +const Demo = () => { + const option=[ + { label: '小尺寸', value: 1 }, + { label: '默认尺寸', value: 2 }, + { label: '大尺寸', value: 3 }, + ] + + return( + + + + + + + + + + + + + + + + + + ); +}; +ReactDOM.render(, _mount_); +``` + ## 不同的value类型 通`labelInValue`参数控制value类型和onChange时间返回参数的类型,设置为`true`时,`value`和`onChange`回调返回的值类型从[..., value]变成[..., { label, value}] diff --git a/packages/react-search-select/src/index.tsx b/packages/react-search-select/src/index.tsx index c03d05b3a5..0347ab2974 100644 --- a/packages/react-search-select/src/index.tsx +++ b/packages/react-search-select/src/index.tsx @@ -11,6 +11,9 @@ import { useEffect } from 'react'; import './style/index.less'; type ValueType = string | number; + +const TagSize = { large: 25, default: 20, small: 17 }; + export interface SearchSelectProps extends IProps, DropdownProps { mode?: 'single' | 'multiple'; size?: 'large' | 'default' | 'small'; @@ -262,14 +265,19 @@ export default function SearchSelect(props: SearchSelectProps) { style={{ width: '100%', maxWidth: 'none', ...style }} > {isMultiple ? ( -
+
{isMultiple && selectedValue.slice(0, maxTagCount).map((item, index) => { return ( , _mount_); ``` -## 全部选择 +## 树形节点 + +使用 [Tree](https://uiwjs.github.io/#/components/tree) 结构作为选项节点 ```jsx @@ -51,13 +53,12 @@ import React from 'react'; import { Transfer } from 'uiw'; function Demo() { - - const options = [ +const options = [ { label: '武汉市', key: 1, children: [ - { label: '新洲区', key: 2 }, + { label: '新洲区', key: 2, disabled: true }, { label: '武昌区', key: 3 }, { label: '汉南区', @@ -72,13 +73,12 @@ function Demo() { } ]; - const [value,valueSet] = React.useState([{ label: '武昌区', key: 3 }, { label: '汉南区1', key: 5 }]) + const [value,valueSet] = React.useState([{ label: '汉南区1', key: 5 }]) return ( { valueSet(option) @@ -91,7 +91,9 @@ function Demo() { ReactDOM.render(, _mount_); ``` -## 树形节点 +## 全部选择 + +将`selectedAll`设置为`true`,启用全部勾选功能 ```jsx @@ -99,12 +101,13 @@ import React from 'react'; import { Transfer } from 'uiw'; function Demo() { -const options = [ + + const options = [ { label: '武汉市', key: 1, children: [ - { label: '新洲区', key: 2, disabled: true }, + { label: '新洲区', key: 2 }, { label: '武昌区', key: 3 }, { label: '汉南区', @@ -119,12 +122,13 @@ const options = [ } ]; - const [value,valueSet] = React.useState([{ label: '武汉市', key: 1 }]) + const [value,valueSet] = React.useState([{ label: '武昌区', key: 3 }, { label: '汉南区1', key: 5 }]) return ( { valueSet(option) @@ -139,6 +143,8 @@ ReactDOM.render(, _mount_); ## 搜索选项 +将`showSearch`设置为`true`,启用选项搜索框 + ```jsx import React from 'react';