@zykj2024/much-library 1.1.6-beta.1 → 1.1.7-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/McContainer/demo/generic.d.ts +8 -0
  2. package/dist/McContainer/demo/generic.js +91 -0
  3. package/dist/McContainer/index.d.ts +147 -108
  4. package/dist/McContainer/index.js +16 -7
  5. package/dist/McEllipsis/demo/base.d.ts +6 -0
  6. package/dist/McEllipsis/demo/base.js +22 -0
  7. package/dist/McEllipsis/demo/middle.d.ts +6 -0
  8. package/dist/McEllipsis/demo/middle.js +24 -0
  9. package/dist/McEllipsis/demo/table.d.ts +5 -0
  10. package/dist/McEllipsis/demo/table.js +93 -0
  11. package/dist/McEllipsis/demo/tooltip-size.d.ts +6 -0
  12. package/dist/McEllipsis/demo/tooltip-size.js +20 -0
  13. package/dist/McEllipsis/demo/tooltip.d.ts +6 -0
  14. package/dist/McEllipsis/demo/tooltip.js +53 -0
  15. package/dist/McEllipsis/index.css +4 -0
  16. package/dist/McEllipsis/index.d.ts +40 -0
  17. package/dist/McEllipsis/index.js +115 -0
  18. package/dist/McGroupPanel/index.css +8 -3
  19. package/dist/McGroupPanel/index.d.ts +1 -0
  20. package/dist/McGroupPanel/index.js +156 -141
  21. package/dist/McInputNumber/index.d.ts +3 -0
  22. package/dist/McInputNumber/index.js +16 -9
  23. package/dist/McListSelect/comps/ListSelect.d.ts +67 -0
  24. package/dist/McListSelect/comps/ListSelect.js +289 -0
  25. package/dist/McListSelect/comps/ListSelectPanel.d.ts +138 -0
  26. package/dist/McListSelect/comps/ListSelectPanel.js +451 -0
  27. package/dist/McListSelect/comps/SelectedItem.d.ts +17 -0
  28. package/dist/McListSelect/comps/SelectedItem.js +76 -0
  29. package/dist/McListSelect/demo/base.d.ts +6 -0
  30. package/dist/McListSelect/demo/base.js +125 -0
  31. package/dist/McListSelect/demo/inexistent.d.ts +6 -0
  32. package/dist/McListSelect/demo/inexistent.js +111 -0
  33. package/dist/McListSelect/demo/layout.d.ts +6 -0
  34. package/dist/McListSelect/demo/layout.js +70 -0
  35. package/dist/McListSelect/demo/other.d.ts +6 -0
  36. package/dist/McListSelect/demo/other.js +68 -0
  37. package/dist/McListSelect/demo/panel-inexistent.d.ts +6 -0
  38. package/dist/McListSelect/demo/panel-inexistent.js +86 -0
  39. package/dist/McListSelect/index.css +273 -0
  40. package/dist/McListSelect/index.d.ts +10 -0
  41. package/dist/McListSelect/index.js +5 -0
  42. package/dist/McListSelect/mock/index.d.ts +1 -0
  43. package/dist/McListSelect/mock/index.js +27 -0
  44. package/dist/McModalProvider/index.d.ts +2 -2
  45. package/dist/McThemeConfig/layoutStyle.d.ts +1 -1
  46. package/dist/McThemeConfig/layoutStyle.js +1 -1
  47. package/dist/index.d.ts +3 -0
  48. package/dist/index.js +3 -0
  49. package/package.json +3 -1
@@ -3,6 +3,7 @@ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
3
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
4
4
  var _excluded = ["label", "precision", "value", "onChange", "className"];
5
5
  import { InputNumber } from 'antd';
6
+ import NP from 'number-precision';
6
7
  import { forwardRef, useEffect, useState } from 'react';
7
8
  import "./index.css";
8
9
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -11,7 +12,7 @@ var McInputNumber = /*#__PURE__*/forwardRef(function (props, ref) {
11
12
  _props$precision = props.precision,
12
13
  precision = _props$precision === void 0 ? 0 : _props$precision,
13
14
  value = props.value,
14
- _onChange = props.onChange,
15
+ onChange = props.onChange,
15
16
  className = props.className,
16
17
  rest = _objectWithoutProperties(props, _excluded);
17
18
  var _useState = useState(null),
@@ -21,6 +22,19 @@ var McInputNumber = /*#__PURE__*/forwardRef(function (props, ref) {
21
22
  useEffect(function () {
22
23
  setInputNumberValue(typeof value === 'number' ? value : null);
23
24
  }, [value]);
25
+ var handleChange = function handleChange(v) {
26
+ var formattedValue = null;
27
+ if (v !== null && v !== '') {
28
+ var num = typeof v === 'string' ? parseFloat(v) : v;
29
+ if (!isNaN(num)) {
30
+ formattedValue = NP.round(num, precision);
31
+ }
32
+ }
33
+ if (!props.hasOwnProperty('value')) {
34
+ setInputNumberValue(formattedValue);
35
+ }
36
+ onChange === null || onChange === void 0 || onChange(formattedValue);
37
+ };
24
38
  return /*#__PURE__*/_jsx(InputNumber, _objectSpread({
25
39
  ref: ref,
26
40
  className: "mc-input-number ".concat(className || ''),
@@ -29,14 +43,7 @@ var McInputNumber = /*#__PURE__*/forwardRef(function (props, ref) {
29
43
  children: label
30
44
  }),
31
45
  value: inputNumberValue,
32
- onChange: function onChange(v) {
33
- // 检查是否为数字,并格式化为最多保留precision位小数,否则清空
34
- var _v = typeof v === 'number' ? parseFloat(v.toFixed(precision)) : null;
35
- if (!props.hasOwnProperty('value')) {
36
- setInputNumberValue(_v);
37
- }
38
- _onChange === null || _onChange === void 0 || _onChange(_v);
39
- },
46
+ onChange: handleChange,
40
47
  placeholder: "\u8BF7\u8F93\u5165"
41
48
  }, rest));
42
49
  });
@@ -0,0 +1,67 @@
1
+ import { FC } from 'react';
2
+ import '../index.less';
3
+ import { McListSelectPanelProps } from './ListSelectPanel';
4
+ /**
5
+ * @author: wangzt
6
+ * @description: 下拉列表选择器-仅支持多选
7
+ */
8
+ interface Inexistent {
9
+ /**
10
+ * 不存在值的文字描述
11
+ * @defaultValue '不存在'
12
+ */
13
+ text?: string;
14
+ /**
15
+ * 不存在值的文字颜色
16
+ * @defaultValue '#ff4d4f'
17
+ */
18
+ color?: string;
19
+ /**
20
+ * 是否保留原值
21
+ * @remarks 若为 true,则在执行不存在值的处理逻辑时,不向外抛出 undefined
22
+ * @defaultValue false
23
+ */
24
+ reserveOriginalValue?: boolean;
25
+ }
26
+ export type McListSelectProps = Omit<McListSelectPanelProps, 'PanelInexistent'> & {
27
+ /**
28
+ * 查询项的字段名
29
+ * @remarks 配合 McContainer 组件的查询功能使用
30
+ */
31
+ name?: string;
32
+ /**
33
+ * 查询项的标签文字
34
+ * @remarks 若未设置,样式为表单项形态
35
+ */
36
+ label?: React.ReactNode;
37
+ /**
38
+ * 选择框默认文本
39
+ * @defaultValue '请选择'
40
+ */
41
+ placeholder?: string;
42
+ /**
43
+ * 最多显示多少个 tag
44
+ * @remarks 响应式模式会对性能产生损耗
45
+ * @defaultValue 1
46
+ */
47
+ maxTagCount?: number | 'responsive';
48
+ /**
49
+ * 是否每次展开下拉菜单时都初始化(重置查询)
50
+ * @defaultValue true
51
+ */
52
+ initOnOpen?: boolean;
53
+ /**
54
+ * 是否执行不存在值的处理逻辑
55
+ * @remarks
56
+ * - 异步查询时无效
57
+ * - 为保证该属性的相关功能生效,options 无数据的情况下请配置为空数组 []
58
+ * @defaultValue false
59
+ */
60
+ inexistent?: boolean | Inexistent;
61
+ };
62
+ export type McListSelectRef = {
63
+ /** 初始化方法(显示下拉菜单并重置查询) */
64
+ init: () => void;
65
+ };
66
+ declare const McListSelect: FC<McListSelectProps>;
67
+ export default McListSelect;
@@ -0,0 +1,289 @@
1
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
+ import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
3
+ import { Button, Popover, Select } from 'antd';
4
+ import classNames from 'classnames';
5
+ import { forwardRef, useEffect, useImperativeHandle, useMemo, useRef, useState } from 'react';
6
+ import "../index.css";
7
+ import ListSelectPanel, { isLabelInValue } from "./ListSelectPanel";
8
+
9
+ /**
10
+ * @author: wangzt
11
+ * @description: 下拉列表选择器-仅支持多选
12
+ */
13
+ import { jsx as _jsx } from "react/jsx-runtime";
14
+ import { jsxs as _jsxs } from "react/jsx-runtime";
15
+ import { Fragment as _Fragment } from "react/jsx-runtime";
16
+ var McListSelect = /*#__PURE__*/forwardRef(function (props, ref) {
17
+ /* 获取label宽度 */
18
+ var labelRef = useRef();
19
+ var _useState = useState(11),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ paddingLeft = _useState2[0],
22
+ setPaddingLeft = _useState2[1];
23
+ useEffect(function () {
24
+ var labelResizeObserver = new ResizeObserver(function (entries) {
25
+ setPaddingLeft(entries[0].contentRect.width + 11);
26
+ });
27
+ labelRef.current && labelResizeObserver.observe(labelRef.current);
28
+ return function () {
29
+ return labelResizeObserver.disconnect();
30
+ };
31
+ }, []);
32
+ var label = props.label,
33
+ _props$placeholder = props.placeholder,
34
+ placeholder = _props$placeholder === void 0 ? '请选择' : _props$placeholder,
35
+ maxTagCount = props.maxTagCount,
36
+ _props$allowClear = props.allowClear,
37
+ allowClear = _props$allowClear === void 0 ? true : _props$allowClear,
38
+ title = props.title,
39
+ options = props.options,
40
+ fetchOptions = props.fetchOptions,
41
+ pageSize = props.pageSize,
42
+ extra = props.extra,
43
+ immediateInit = props.immediateInit,
44
+ _props$disabled = props.disabled,
45
+ disabled = _props$disabled === void 0 ? false : _props$disabled,
46
+ _props$labelInValue = props.labelInValue,
47
+ labelInValue = _props$labelInValue === void 0 ? false : _props$labelInValue,
48
+ _props$initOnOpen = props.initOnOpen,
49
+ initOnOpen = _props$initOnOpen === void 0 ? true : _props$initOnOpen,
50
+ _props$inexistent = props.inexistent,
51
+ inexistent = _props$inexistent === void 0 ? false : _props$inexistent,
52
+ selectedLayout = props.selectedLayout,
53
+ value = props.value,
54
+ onChange = props.onChange,
55
+ style = props.style,
56
+ className = props.className;
57
+ var maxTagCount0 = props.hasOwnProperty('maxTagCount') ? maxTagCount : 1;
58
+ var inexistent0 = fetchOptions ? false : inexistent;
59
+ var _ref = typeof inexistent0 === 'boolean' ? {} : inexistent0,
60
+ _ref$text = _ref.text,
61
+ text = _ref$text === void 0 ? '不存在' : _ref$text,
62
+ _ref$color = _ref.color,
63
+ color = _ref$color === void 0 ? '#ff4d4f' : _ref$color,
64
+ _ref$reserveOriginalV = _ref.reserveOriginalValue,
65
+ reserveOriginalValue = _ref$reserveOriginalV === void 0 ? false : _ref$reserveOriginalV;
66
+ var _useState3 = useState([]),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ selectValue = _useState4[0],
69
+ setSelectValue = _useState4[1];
70
+ var _useState5 = useState(false),
71
+ _useState6 = _slicedToArray(_useState5, 2),
72
+ open = _useState6[0],
73
+ setOpen = _useState6[1];
74
+ var _useState7 = useState([]),
75
+ _useState8 = _slicedToArray(_useState7, 2),
76
+ panelValue = _useState8[0],
77
+ setPanelValue = _useState8[1];
78
+ var valueMap0 = useRef();
79
+ var changeUndefinedFlag = useRef(false);
80
+ var panelRef = useRef();
81
+
82
+ // 格式化下拉选择器的值
83
+ var selectValue0 = useMemo(function () {
84
+ return selectValue.map(function (_ref2) {
85
+ var _valueMap0$current;
86
+ var value = _ref2.value,
87
+ label = _ref2.label;
88
+ return {
89
+ value: value,
90
+ label: label + (inexistent0 && !((_valueMap0$current = valueMap0.current) !== null && _valueMap0$current !== void 0 && _valueMap0$current[value]) ? "\u300C".concat(text, "\u300D") : '')
91
+ };
92
+ });
93
+ }, [selectValue, inexistent0]);
94
+
95
+ /* 回显 */
96
+ var echo = function echo() {
97
+ // 若已执行向外抛出undefined,则不执行后续代码并重置标记
98
+ if (changeUndefinedFlag.current) {
99
+ changeUndefinedFlag.current = false;
100
+ return;
101
+ }
102
+ var inexistentFlag = false;
103
+ var value1 = (value === null || value === void 0 ? void 0 : value.map(function (item) {
104
+ var _valueMap0$current2;
105
+ var v = isLabelInValue(item) ? item.value : item;
106
+ if ((_valueMap0$current2 = valueMap0.current) !== null && _valueMap0$current2 !== void 0 && _valueMap0$current2[v]) {
107
+ return valueMap0.current[v];
108
+ } else {
109
+ inexistentFlag = true;
110
+ return isLabelInValue(item) ? item : {
111
+ value: v,
112
+ label: v
113
+ };
114
+ }
115
+ })) || [];
116
+ setSelectValue(value1);
117
+ // 若当前有不存在的值,则向外抛出undefined并标记
118
+ if (inexistent0 && !reserveOriginalValue && value && valueMap0.current && inexistentFlag) {
119
+ changeUndefinedFlag.current = true;
120
+ onChange === null || onChange === void 0 || onChange(undefined);
121
+ }
122
+ };
123
+
124
+ /* 监听value变化,触发回显 */
125
+ useEffect(function () {
126
+ echo();
127
+ }, [value]);
128
+
129
+ /* 备选项初始化 */
130
+ var optionsInit = function optionsInit() {
131
+ // 非异步查询时
132
+ if (!fetchOptions && options) {
133
+ // 获取value映射集合
134
+ var map = {};
135
+ options === null || options === void 0 || options.forEach(function (item) {
136
+ return map[item.value] = item;
137
+ });
138
+ valueMap0.current = map;
139
+ // 更新回显数据
140
+ echo();
141
+ }
142
+ };
143
+
144
+ /* 监听options变化,触发备选项初始化 */
145
+ useEffect(function () {
146
+ optionsInit();
147
+ }, [options]);
148
+
149
+ /* 改变值的方法 */
150
+ var changeHandle = function changeHandle(v) {
151
+ // 若inexistent为true且非异步查询时,将不存在的项移除
152
+ var v1 = v.filter(function (_ref3) {
153
+ var _valueMap0$current3;
154
+ var value = _ref3.value;
155
+ return inexistent0 ? !!((_valueMap0$current3 = valueMap0.current) !== null && _valueMap0$current3 !== void 0 && _valueMap0$current3[value]) : true;
156
+ });
157
+ (!props.hasOwnProperty('value') || inexistent0) && setSelectValue(v1);
158
+ onChange === null || onChange === void 0 || onChange(!!v1.length ? v1.map(function (i) {
159
+ return labelInValue ? i : i.value;
160
+ }) : undefined);
161
+ };
162
+ useImperativeHandle(ref, function () {
163
+ return {
164
+ init: function init() {
165
+ var _panelRef$current;
166
+ setOpen(true);
167
+ (_panelRef$current = panelRef.current) === null || _panelRef$current === void 0 || _panelRef$current.init();
168
+ }
169
+ };
170
+ });
171
+ return /*#__PURE__*/_jsxs("div", {
172
+ style: _objectSpread({
173
+ position: label ? 'relative' : 'static',
174
+ height: 'auto',
175
+ '--selector-pl': "".concat(paddingLeft, "px"),
176
+ '--inexistent-color': color
177
+ }, style),
178
+ className: classNames('mc-list-select', maxTagCount0 === 1 && 'mc-list-select--inline', className),
179
+ children: [label && /*#__PURE__*/_jsx("span", {
180
+ ref: labelRef,
181
+ className: classNames('mc-list-select__label', disabled && 'mc-list-select--disabled'),
182
+ children: label
183
+ }), /*#__PURE__*/_jsx(Select, {
184
+ className: "mc-list-select__content",
185
+ placeholder: placeholder,
186
+ mode: "multiple",
187
+ showSearch: false,
188
+ maxTagCount: maxTagCount0,
189
+ maxTagPlaceholder: function maxTagPlaceholder(v) {
190
+ return /*#__PURE__*/_jsx(Popover, {
191
+ overlayStyle: {
192
+ maxWidth: 300
193
+ },
194
+ content: v.map(function (_ref4, index) {
195
+ var _ref5;
196
+ var label = _ref4.label;
197
+ return /*#__PURE__*/_jsxs("span", {
198
+ children: [index !== 0 && /*#__PURE__*/_jsx("span", {
199
+ children: ", "
200
+ }), /*#__PURE__*/_jsx("span", {
201
+ style: {
202
+ color: ((_ref5 = '' + label) === null || _ref5 === void 0 ? void 0 : _ref5.indexOf("\u300C".concat(text, "\u300D"))) === -1 ? 'rgba(0, 0, 0, 0.88)' : color
203
+ },
204
+ children: label
205
+ })]
206
+ }, index);
207
+ }),
208
+ children: /*#__PURE__*/_jsx("span", {
209
+ children: '+' + v.length
210
+ })
211
+ });
212
+ },
213
+ allowClear: allowClear,
214
+ disabled: disabled,
215
+ open: open,
216
+ onDropdownVisibleChange: function onDropdownVisibleChange(o) {
217
+ setOpen(o);
218
+ if (o) {
219
+ var _panelRef$current2;
220
+ setPanelValue(selectValue);
221
+ initOnOpen && ((_panelRef$current2 = panelRef.current) === null || _panelRef$current2 === void 0 ? void 0 : _panelRef$current2.init());
222
+ }
223
+ },
224
+ labelInValue: true,
225
+ value: selectValue0,
226
+ onClear: function onClear() {
227
+ return changeHandle([]);
228
+ },
229
+ onDeselect: function onDeselect(o) {
230
+ return changeHandle(selectValue.filter(function (_ref6) {
231
+ var value = _ref6.value;
232
+ return value !== o.value;
233
+ }));
234
+ },
235
+ dropdownStyle: {
236
+ width: 'auto',
237
+ padding: '16px 16px 0'
238
+ },
239
+ dropdownRender: function dropdownRender() {
240
+ return /*#__PURE__*/_jsxs(_Fragment, {
241
+ children: [/*#__PURE__*/_jsx(ListSelectPanel, {
242
+ ref: panelRef,
243
+ title: title,
244
+ options: options,
245
+ fetchOptions: fetchOptions,
246
+ pageSize: pageSize,
247
+ extra: extra,
248
+ immediateInit: immediateInit,
249
+ disabled: disabled,
250
+ labelInValue: true,
251
+ allowClear: allowClear,
252
+ inexistent: inexistent,
253
+ selectedLayout: selectedLayout,
254
+ value: panelValue,
255
+ onChange: function onChange(v) {
256
+ setPanelValue(v || []);
257
+ // 异步查询时,更新value映射集合
258
+ if (fetchOptions) {
259
+ var map = {};
260
+ v === null || v === void 0 || v.forEach(function (item) {
261
+ return map[item.value] = item;
262
+ });
263
+ valueMap0.current = Object.assign(valueMap0.current || {}, map);
264
+ }
265
+ }
266
+ }), /*#__PURE__*/_jsxs("div", {
267
+ className: "mc-list-select__dropdown-footer",
268
+ children: [/*#__PURE__*/_jsx(Button, {
269
+ size: "small",
270
+ onClick: function onClick() {
271
+ return setOpen(false);
272
+ },
273
+ children: "\u53D6\u6D88"
274
+ }), /*#__PURE__*/_jsx(Button, {
275
+ type: "primary",
276
+ size: "small",
277
+ onClick: function onClick() {
278
+ changeHandle(panelValue);
279
+ setOpen(false);
280
+ },
281
+ children: "\u786E\u5B9A"
282
+ })]
283
+ })]
284
+ });
285
+ }
286
+ })]
287
+ });
288
+ });
289
+ export default McListSelect;
@@ -0,0 +1,138 @@
1
+ /// <reference types="react" />
2
+ import '../index.less';
3
+ export type BaseValueType = string | number;
4
+ export interface Option {
5
+ value: BaseValueType;
6
+ label: string;
7
+ disabled?: boolean;
8
+ [key: string]: any;
9
+ }
10
+ export type MapType = Record<BaseValueType, Option>;
11
+ export type McListSelectFetchOptions = (params: {
12
+ current: number;
13
+ pageSize: number;
14
+ keyword?: string;
15
+ extra?: any;
16
+ }) => Promise<{
17
+ data: Option[];
18
+ total: number;
19
+ }>;
20
+ export interface PanelInexistent {
21
+ /**
22
+ * 不存在值的文字描述
23
+ * @defaultValue '不存在'
24
+ */
25
+ text?: string;
26
+ /**
27
+ * 不存在值的文字颜色
28
+ * @defaultValue '#ff4d4f'
29
+ */
30
+ color?: string;
31
+ /**
32
+ * 是否保留不存在的项并禁止其移除
33
+ * @defaultValue false
34
+ */
35
+ reserved?: boolean;
36
+ }
37
+ export type LabelInValueType = {
38
+ value: BaseValueType;
39
+ label: string;
40
+ };
41
+ type SelectValueType = BaseValueType | LabelInValueType;
42
+ export declare const isLabelInValue: (value: SelectValueType) => value is LabelInValueType;
43
+ /**
44
+ * 列表选择面板组件属性
45
+ */
46
+ export interface McListSelectPanelProps {
47
+ /**
48
+ * 面板标题
49
+ * @defaultValue '可选项'
50
+ */
51
+ title?: React.ReactNode;
52
+ /**
53
+ * 可选数据列表
54
+ */
55
+ options?: Option[];
56
+ /**
57
+ * 异步分页获取选项的方法
58
+ * @remarks
59
+ * - 设置后将忽略原 options 属性
60
+ * - 不执行不存在值的处理逻辑
61
+ * - 涉及回显的场景(如表单)建议设置为 true 以对象形式交互
62
+ */
63
+ fetchOptions?: McListSelectFetchOptions;
64
+ /**
65
+ * 分页每页数量
66
+ * @defaultValue 20
67
+ */
68
+ pageSize?: number;
69
+ /**
70
+ * 分页查询的额外参数
71
+ * @remarks 参数变化时会触发 init 方法重置查询
72
+ */
73
+ extra?: any;
74
+ /**
75
+ * 是否立即初始化
76
+ * @defaultValue true
77
+ * @remarks 使用异步分页且存在 extra 参数时可设为 false,通过 extra 变化触发初始化避免重复
78
+ */
79
+ immediateInit?: boolean;
80
+ /**
81
+ * 是否禁用组件
82
+ * @defaultValue false
83
+ */
84
+ disabled?: boolean;
85
+ /**
86
+ * 是否将选项标签等信息包装到值中
87
+ * @defaultValue false
88
+ * @remarks 涉及回显的场景(如表单)建议设置为 true
89
+ */
90
+ labelInValue?: boolean;
91
+ /**
92
+ * 是否允许清空选择
93
+ * @defaultValue true
94
+ */
95
+ allowClear?: boolean;
96
+ /**
97
+ * 是否处理不存在值
98
+ * @defaultValue false
99
+ * @remarks 异步查询时无效
100
+ */
101
+ inexistent?: boolean | PanelInexistent;
102
+ /**
103
+ * 已选项布局方式
104
+ * @defaultValue 'block'
105
+ * @remarks
106
+ * - 'block': 每项独占一行
107
+ * - 'inline': 行内排列
108
+ * - 'sortable': 每项独占一行且可排序
109
+ */
110
+ selectedLayout?: 'block' | 'inline' | 'sortable';
111
+ /**
112
+ * 当前选中的值
113
+ */
114
+ value?: SelectValueType[];
115
+ /**
116
+ * 选择变化时的回调函数
117
+ * @param value - 新选中的值数组
118
+ */
119
+ onChange?: (value?: SelectValueType[]) => void;
120
+ /**
121
+ * 自定义样式
122
+ */
123
+ style?: React.CSSProperties;
124
+ /**
125
+ * 自定义类名
126
+ */
127
+ className?: string;
128
+ /**
129
+ * 组件引用
130
+ */
131
+ ref?: any;
132
+ }
133
+ export type McListSelectPanelRef = {
134
+ /** 初始化方法(重置查询) */
135
+ init: () => void;
136
+ };
137
+ declare const _default: import("react").NamedExoticComponent<McListSelectPanelProps>;
138
+ export default _default;