Skip to content

Commit 577c61e

Browse files
author
liyuan-meng
committed
✨[Select]添加禁用状态样式
1 parent 6f0fda7 commit 577c61e

6 files changed

Lines changed: 37 additions & 7 deletions

File tree

src/components/select/demos/searchable.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@ desc: 可对选项进行搜索
55
---
66

77
```jsx
8-
import React from 'react';
9-
import { Select } from 'cloud-react';
8+
import React, { useState } from 'react';
9+
import { Select, Checkbox } from 'cloud-react';
1010

1111
const Option = Select.Option;
1212

@@ -54,6 +54,8 @@ const dataList = [
5454
];
5555

5656
export default function SelectDemo() {
57+
const [disabled, setDisabled] = useState(false);
58+
5759
const handleChange = (value) => {
5860
console.log('select --- ' + value);
5961
};
@@ -64,11 +66,15 @@ export default function SelectDemo() {
6466

6567
return (
6668
<div style={{ display: 'flex', gap: 20, flexDirection: 'column' }}>
69+
<Checkbox checked={disabled} onChange={checked => {
70+
setDisabled(checked)
71+
}}>禁用</Checkbox>
6772
<div>
6873
<h5>搜索框在下拉框内(单选)</h5>
6974
<Select
7075
searchable
7176
allowClear
77+
disabled={disabled}
7278
supportLightText
7379
placeholder="带搜索的下拉单选"
7480
onSearch={handleSearch}
@@ -86,6 +92,7 @@ export default function SelectDemo() {
8692
multiple
8793
searchable
8894
allowClear
95+
disabled={disabled}
8996
supportLightText
9097
placeholder="带搜索的下拉单选"
9198
onSearch={handleSearch}
@@ -101,6 +108,7 @@ export default function SelectDemo() {
101108
searchable
102109
searchInBox
103110
allowClear
111+
disabled={disabled}
104112
supportLightText
105113
placeholder="带搜索的下拉单选"
106114
onSearch={handleSearch}
@@ -117,6 +125,7 @@ export default function SelectDemo() {
117125
searchable
118126
searchInBox
119127
allowClear
128+
disabled={disabled}
120129
multiple
121130
supportLightText
122131
placeholder="带搜索的下拉多选"
@@ -133,6 +142,7 @@ export default function SelectDemo() {
133142
searchable
134143
searchInBox
135144
allowClear
145+
disabled={disabled}
136146
multiple
137147
supportLightText
138148
placeholder="带搜索的下拉多选"

src/components/select/index.less

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,14 @@
109109
.@{select-prefix-cls}-select-icon {
110110
color: @dropdown-icon-color;
111111
}
112+
113+
.@{select-prefix-cls}-single-select-selected {
114+
color: @gray-7;
115+
}
116+
117+
.@{select-prefix-cls}-select-icon:hover {
118+
color: @gray-6;
119+
}
112120
}
113121

114122
&.empty {
@@ -216,6 +224,11 @@
216224
font-size: 12px;
217225
color: #D8D8D8;
218226
}
227+
228+
&.disabled {
229+
color: @gray-7;
230+
border: 1px solid #E8E8E8;
231+
}
219232
}
220233

221234
&.search-in-box {
@@ -460,7 +473,7 @@
460473
font-size: 12px;
461474
color: @gray-6;
462475
> img {
463-
width: 48%;
476+
width:104px;
464477
height: auto;
465478
margin-bottom: 8px;
466479
}

src/components/select/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ group:
3838
| placeholder | 选择框默认文案 | string | - |
3939
| searchable | 使下拉框带搜索 | boolean | false |
4040
| searchInBox | 搜索框在外侧 | boolean | false |
41-
| maxTagCount | 多选下拉最多显示多少个tag | boolean | false |
41+
| maxTagCount | 多选下拉最多显示多少个tag | number | - |
4242
| searchPlaceholder | 搜索框默认文案 | string | - |
4343
| emptyRender | 数据为空时下拉框显示内容 | string \| node | '暂无数据'+缺省图 |
4444
| defaultValue | 默认选中的项 | string \| number \| array | - |

src/components/select/views/multi-search.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ export default function MultiSearch({
1717
valueKey,
1818
maxTagCount,
1919
setSearchStatus,
20+
disabled,
2021
}) {
2122
const searchRef = useRef();
2223
const [selectList, setSelectList] = useState([]);
@@ -76,19 +77,21 @@ export default function MultiSearch({
7677
return (
7778
<>
7879
{showSelectList.map(item => (
79-
<span key={item[valueKey]} className={`${selector}-multiple-search-item`}>
80+
<span key={item[valueKey]} className={`${selector}-multiple-search-item ${disabled && 'disabled'}`}>
8081
<span className={`${selector}-multiple-search-item-text`} title={item[labelKey]}>{item[labelKey]}</span>
81-
<Icon type="close" onClick={evt => onItemClose(evt, item)} />
82+
{!disabled && <Icon type="close" onClick={evt => onItemClose(evt, item)} />}
8283
</span>
8384
))}
8485
{hideSelectList.length ? (
85-
<span className={`${selector}-multiple-search-item`}>
86+
<span className={`${selector}-multiple-search-item ${disabled && 'disabled'}`}>
8687
+
8788
{hideSelectList.length}
8889
</span>
8990
) : null}
9091
<div ref={searchRef} className={`${selector}-search`}>
9192
<Input
93+
disabled={disabled}
94+
// useComposition
9295
value={searchValue}
9396
placeholder=""
9497
onChange={onOptionsSearch}

src/components/select/views/selected.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,7 @@ export default class Selected extends React.Component {
213213
valueKey={valueKey}
214214
maxTagCount={maxTagCount}
215215
setSearchStatus={setSearchStatus}
216+
disabled={disabled}
216217
/>
217218
)}
218219
<Icon type="close-fill-1" className={clearClasses} onClick={onClear} />

src/components/select/views/single-search.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export default function SingleSearch({
1010
onSearchValueChange,
1111
onSearch,
1212
setSearchStatus,
13+
disabled,
1314
}) {
1415
const [isFocusSearchInput, setIsFocusSearchInput] = useState(false);
1516

@@ -54,6 +55,8 @@ export default function SingleSearch({
5455
)}
5556
<div className={`${selector}-search`}>
5657
<Input
58+
disabled={disabled}
59+
// useComposition
5760
value={searchValue}
5861
placeholder={searchPlaceholder}
5962
onChange={onOptionsSearch}

0 commit comments

Comments
 (0)