ls-pro-common 1.0.32 → 1.0.33

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.
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import type { InputProps } from 'antd';
3
3
  import type { ProFormItemProps } from 'ls-pro-form';
4
4
  export declare type InputTableProps = ProFormItemProps<InputProps> & {
@@ -41,5 +41,53 @@ export declare type InputTableProps = ProFormItemProps<InputProps> & {
41
41
  /**@name 加载之后事件,row为接口返回数据,可以通过此方法调整 */
42
42
  afterLoad?: (rows: any[]) => void;
43
43
  };
44
- declare function InputTable(prop: InputTableProps): JSX.Element;
44
+ declare const InputTable: React.ForwardRefExoticComponent<{
45
+ fieldProps?: (import("../../../form/lib/interface").FieldProps & InputProps) | undefined;
46
+ placeholder?: string | string[] | undefined;
47
+ secondary?: boolean | undefined;
48
+ allowClear?: boolean | undefined;
49
+ disabled?: boolean | undefined;
50
+ width?: number | "sm" | "md" | "xl" | "xs" | "lg" | undefined;
51
+ proFieldProps?: import("../../../utils/lib").ProFieldProps | undefined;
52
+ footerRender?: import("../../../form/lib").LightFilterFooterRender | undefined;
53
+ } & Omit<import("../../../form/lib/components/FormItem").ProFormItemProps, "valueType"> & import("../../../form/lib/interface").ExtendsProps & {
54
+ /**@name 弹框选择表格列配置 */
55
+ columns: any[];
56
+ /**@name 调用后端API地址 */
57
+ url: string;
58
+ /**@name 弹框表格高度,默认400 */
59
+ tableHeight?: number | undefined;
60
+ /**@name 弹框表格宽度,默认650*/
61
+ tableWidth?: number | undefined;
62
+ /**@name 是否支持多选 */
63
+ multiple?: boolean | undefined;
64
+ /**@name 表单项name, 跟 form.item 的 name一致 */
65
+ name: string;
66
+ /**@name 返回的值字段,表格中valueField配置的字段时返回给name */
67
+ valueField: string;
68
+ /**@name 返回输入框显示的字段,textField字段值返回给textName */
69
+ textField?: string | undefined;
70
+ /**@name 用于接收textField返回的值 */
71
+ textName?: string | undefined;
72
+ /** @name 表格的其它配置 */
73
+ tableConfig?: any;
74
+ /**@name 表单label宽度,默认70 */
75
+ labelWidth?: number | undefined;
76
+ /**@name 是否2.0接口 */
77
+ isV2?: boolean | undefined;
78
+ /**@name 是否支持跨页选择 */
79
+ keepSelect?: boolean | undefined;
80
+ /**@name 回车事件查询关键字 */
81
+ searchField?: string | undefined;
82
+ /**@name 填充其它表单项目配置 */
83
+ fillMap?: Record<string, string> | undefined;
84
+ /**@name 输入后检查数据的触发方式,默认为entry回车触发 */
85
+ triggerCheck?: "entry" | "blur" | undefined;
86
+ /**@name 选择行事件 */
87
+ onSelectChange?: ((item: any, formRef?: any) => void) | undefined;
88
+ /**@name 加载之前事件,param为查询条件对象,可以通过此方法调整 */
89
+ beforeLoad?: ((param: any) => void) | undefined;
90
+ /**@name 加载之后事件,row为接口返回数据,可以通过此方法调整 */
91
+ afterLoad?: ((rows: any[]) => void) | undefined;
92
+ } & React.RefAttributes<unknown>>;
45
93
  export default InputTable;
@@ -12,15 +12,13 @@ import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutPr
12
12
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
13
13
  var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect", "fieldProps", "searchField", "fillMap", "triggerCheck"],
14
14
  _excluded2 = ["current", "pageSize"];
15
- import React from "react";
16
- import { useRef, useState, useEffect, useContext, useMemo } from 'react';
15
+ import React, { useRef, useState, useEffect, useContext, useMemo, useImperativeHandle } from 'react';
17
16
  import ProTable from 'ls-pro-table';
18
17
  import { ProFormText, ProFormContext } from 'ls-pro-form';
19
18
  import { MoreOutlined } from '@ant-design/icons';
20
19
  import { httpGet } from '../http';
21
20
  import { showWarn } from '../utils';
22
-
23
- function InputTable(prop) {
21
+ var InputTable = /*#__PURE__*/React.forwardRef(function (prop, ref) {
24
22
  //@ts-ignore
25
23
  var _useContext = useContext(ProFormContext),
26
24
  formRef = _useContext.formRef;
@@ -42,6 +40,11 @@ function InputTable(prop) {
42
40
  text = _useState6[0],
43
41
  setText = _useState6[1];
44
42
 
43
+ var inputRef = useRef();
44
+ useImperativeHandle(ref, function () {
45
+ return inputRef.current;
46
+ });
47
+
45
48
  var columns = prop.columns,
46
49
  url = prop.url,
47
50
  textName = prop.textName,
@@ -368,7 +371,8 @@ function InputTable(prop) {
368
371
  }
369
372
  },
370
373
  readOnly: readonly,
371
- allowClear: allowClear
374
+ allowClear: allowClear,
375
+ ref: inputRef
372
376
  }, fieldProps))) : /*#__PURE__*/React.createElement(_Input, _extends({
373
377
  suffix: /*#__PURE__*/React.createElement(_Popover, {
374
378
  content: /*#__PURE__*/React.createElement("div", {
@@ -406,8 +410,8 @@ function InputTable(prop) {
406
410
  onChange: clearValue,
407
411
  readOnly: readonly,
408
412
  value: text,
409
- allowClear: allowClear
413
+ allowClear: allowClear,
414
+ ref: inputRef
410
415
  }, fieldProps)));
411
- }
412
-
416
+ });
413
417
  export default InputTable;
@@ -1,4 +1,4 @@
1
- /// <reference types="react" />
1
+ import React from 'react';
2
2
  import type { InputProps } from 'antd';
3
3
  import type { ProFormItemProps } from 'ls-pro-form';
4
4
  export declare type InputTableProps = ProFormItemProps<InputProps> & {
@@ -41,5 +41,53 @@ export declare type InputTableProps = ProFormItemProps<InputProps> & {
41
41
  /**@name 加载之后事件,row为接口返回数据,可以通过此方法调整 */
42
42
  afterLoad?: (rows: any[]) => void;
43
43
  };
44
- declare function InputTable(prop: InputTableProps): JSX.Element;
44
+ declare const InputTable: React.ForwardRefExoticComponent<{
45
+ fieldProps?: (import("../../../form/lib/interface").FieldProps & InputProps) | undefined;
46
+ placeholder?: string | string[] | undefined;
47
+ secondary?: boolean | undefined;
48
+ allowClear?: boolean | undefined;
49
+ disabled?: boolean | undefined;
50
+ width?: number | "sm" | "md" | "xl" | "xs" | "lg" | undefined;
51
+ proFieldProps?: import("../../../utils/lib").ProFieldProps | undefined;
52
+ footerRender?: import("../../../form/lib").LightFilterFooterRender | undefined;
53
+ } & Omit<import("../../../form/lib/components/FormItem").ProFormItemProps, "valueType"> & import("../../../form/lib/interface").ExtendsProps & {
54
+ /**@name 弹框选择表格列配置 */
55
+ columns: any[];
56
+ /**@name 调用后端API地址 */
57
+ url: string;
58
+ /**@name 弹框表格高度,默认400 */
59
+ tableHeight?: number | undefined;
60
+ /**@name 弹框表格宽度,默认650*/
61
+ tableWidth?: number | undefined;
62
+ /**@name 是否支持多选 */
63
+ multiple?: boolean | undefined;
64
+ /**@name 表单项name, 跟 form.item 的 name一致 */
65
+ name: string;
66
+ /**@name 返回的值字段,表格中valueField配置的字段时返回给name */
67
+ valueField: string;
68
+ /**@name 返回输入框显示的字段,textField字段值返回给textName */
69
+ textField?: string | undefined;
70
+ /**@name 用于接收textField返回的值 */
71
+ textName?: string | undefined;
72
+ /** @name 表格的其它配置 */
73
+ tableConfig?: any;
74
+ /**@name 表单label宽度,默认70 */
75
+ labelWidth?: number | undefined;
76
+ /**@name 是否2.0接口 */
77
+ isV2?: boolean | undefined;
78
+ /**@name 是否支持跨页选择 */
79
+ keepSelect?: boolean | undefined;
80
+ /**@name 回车事件查询关键字 */
81
+ searchField?: string | undefined;
82
+ /**@name 填充其它表单项目配置 */
83
+ fillMap?: Record<string, string> | undefined;
84
+ /**@name 输入后检查数据的触发方式,默认为entry回车触发 */
85
+ triggerCheck?: "entry" | "blur" | undefined;
86
+ /**@name 选择行事件 */
87
+ onSelectChange?: ((item: any, formRef?: any) => void) | undefined;
88
+ /**@name 加载之前事件,param为查询条件对象,可以通过此方法调整 */
89
+ beforeLoad?: ((param: any) => void) | undefined;
90
+ /**@name 加载之后事件,row为接口返回数据,可以通过此方法调整 */
91
+ afterLoad?: ((rows: any[]) => void) | undefined;
92
+ } & React.RefAttributes<unknown>>;
45
93
  export default InputTable;
@@ -48,7 +48,7 @@ var _utils = require("../utils");
48
48
  var _excluded = ["columns", "url", "textName", "name", "tableConfig", "tableHeight", "tableWidth", "readonly", "multiple", "valueField", "labelWidth", "textField", "onSelectChange", "beforeLoad", "afterLoad", "isV2", "allowClear", "keepSelect", "fieldProps", "searchField", "fillMap", "triggerCheck"],
49
49
  _excluded2 = ["current", "pageSize"];
50
50
 
51
- function InputTable(prop) {
51
+ var InputTable = /*#__PURE__*/_react.default.forwardRef(function (prop, ref) {
52
52
  //@ts-ignore
53
53
  var _useContext = (0, _react.useContext)(_lsProForm.ProFormContext),
54
54
  formRef = _useContext.formRef;
@@ -70,6 +70,10 @@ function InputTable(prop) {
70
70
  text = _useState6[0],
71
71
  setText = _useState6[1];
72
72
 
73
+ var inputRef = (0, _react.useRef)();
74
+ (0, _react.useImperativeHandle)(ref, function () {
75
+ return inputRef.current;
76
+ });
73
77
  var columns = prop.columns,
74
78
  url = prop.url,
75
79
  textName = prop.textName,
@@ -396,7 +400,8 @@ function InputTable(prop) {
396
400
  }
397
401
  },
398
402
  readOnly: readonly,
399
- allowClear: allowClear
403
+ allowClear: allowClear,
404
+ ref: inputRef
400
405
  }, fieldProps))) : /*#__PURE__*/_react.default.createElement(_input.default, (0, _extends2.default)({
401
406
  suffix: /*#__PURE__*/_react.default.createElement(_popover.default, {
402
407
  content: /*#__PURE__*/_react.default.createElement("div", {
@@ -434,9 +439,10 @@ function InputTable(prop) {
434
439
  onChange: clearValue,
435
440
  readOnly: readonly,
436
441
  value: text,
437
- allowClear: allowClear
442
+ allowClear: allowClear,
443
+ ref: inputRef
438
444
  }, fieldProps)));
439
- }
445
+ });
440
446
 
441
447
  var _default = InputTable;
442
448
  exports.default = _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ls-pro-common",
3
- "version": "1.0.32",
3
+ "version": "1.0.33",
4
4
  "description": "ls-pro-common",
5
5
  "keywords": [
6
6
  "antd",