@vue-start/pro 0.4.1 → 0.4.4

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.
package/dist/index.d.ts CHANGED
@@ -382,7 +382,7 @@ declare const proTableProps: () => {
382
382
  };
383
383
  };
384
384
  declare type ProTableProps = Partial<ExtractPropTypes<ReturnType<typeof proTableProps>>>;
385
- declare const createTable: (Table: any, Props?: any) => any;
385
+ declare const createTable: (Table: any, Props?: any, tableMethods?: string[] | undefined) => any;
386
386
 
387
387
  declare type TPageState = {
388
388
  page: number;
@@ -464,6 +464,7 @@ declare const proCurdProps: () => {
464
464
  };
465
465
  };
466
466
  declare type CurdProps = Partial<ExtractPropTypes<ReturnType<typeof proCurdProps>>>;
467
+ declare const CurdMethods: string[];
467
468
  declare type ProCurdProps = CurdProps & Omit<ProModuleProps, "state" | "requests"> & {
468
469
  curdState?: UnwrapNestedRefs<ICurdState>;
469
470
  };
@@ -558,6 +559,9 @@ declare const ProPageCurd: vue.DefineComponent<ProPageCurdProps, {}, {}, {}, {},
558
559
  declare const createCurdDesc: (Descriptions: any, DescriptionsItem: any) => any;
559
560
 
560
561
  declare const proCurdAddOrEditProps: () => {
562
+ signName: {
563
+ type: StringConstructor;
564
+ };
561
565
  operateBar: {
562
566
  type: BooleanConstructor;
563
567
  default: boolean;
@@ -582,7 +586,7 @@ declare const proCurdAddOrEditProps: () => {
582
586
  };
583
587
  };
584
588
  declare type ProCurdAddOrEditProps = Partial<ExtractPropTypes<ReturnType<typeof proCurdAddOrEditProps>>>;
585
- declare const createCurdForm: (Form: any, Button: any, convertFormProps?: ((curdState: ICurdState) => Record<string, any>) | undefined) => any;
589
+ declare const createCurdForm: (Form: any, Button: any, convertFormProps?: ((curdState: ICurdState) => Record<string, any>) | undefined, formMethods?: string[] | undefined) => any;
586
590
 
587
591
  declare const proCurdListProps: () => {
588
592
  /**
@@ -730,7 +734,7 @@ declare const proFormProps: () => {
730
734
  };
731
735
  };
732
736
  declare type ProFormProps = Partial<ExtractPropTypes<ReturnType<typeof proFormProps>>>;
733
- declare const createForm: (Form: any, Grid: any) => any;
737
+ declare const createForm: (Form: any, Grid: any, formMethods: string[]) => any;
734
738
 
735
739
  declare enum SearchMode {
736
740
  AUTO = "AUTO",
@@ -785,7 +789,7 @@ declare type ProSearchFormProps = Partial<ExtractPropTypes<ReturnType<typeof pro
785
789
  * 该组件只是个模式,最终返回null,不做任何渲染,应配合着ProForm的包装类一起使用
786
790
  * 针对传入的model(监听对象)做相应的finish(回调)处理
787
791
  */
788
- declare const createSearchForm: (Form: any, Props: any) => any;
792
+ declare const createSearchForm: (Form: any, Props: any, formMethods: string[]) => any;
789
793
 
790
794
  interface FormItemProps {
791
795
  name?: string | number | (string | number)[];
@@ -958,4 +962,4 @@ declare const generateId: () => string;
958
962
  */
959
963
  declare const createExpose: (methods: string[], targetRef: Ref$1) => {};
960
964
 
961
- export { BooleanObjType, BooleanRulesObjType, CurdAction, CurdAddAction, CurdCurrentMode, CurdSubAction, FieldNames, FormItemProps, GridProps, ICurdAction, ICurdAddAction, ICurdCurrentMode, ICurdOperateOpts, ICurdState, ICurdSubAction, IElementConfig, IHighConfig, IListData, IOperateItem, IProCurdProvide, IProFormProvideExtra, IProModuleProvide, IProTableProvide, IProTableProvideExtra, IRequestOpts, ISearchMode, ITableOperate, InternalNamePath, NamePath, ProCurd, ProCurdAddOrEditProps, ProCurdListProps, ProCurdProps, ProFormItemProps, ProFormListProps, ProFormProps, ProModalCurd, ProModalCurdProps, ProModule, ProModuleProps, ProPageCurd, ProPageCurdProps, ProSearchFormProps, ProTableProps, RequestAction, SearchMode, TActionEvent, TActionState, TColumn, TColumns, TCurdActionEvent, TData, TDefaultValueType, TElementMap, TOption, TOptions, TPageState, TTableColumn, TTableColumns, TValueType, Wrapper, convertPathToList, createCurdDesc, createCurdForm, createCurdList, createExpose, createForm, createFormItemCompFn, createFormList, createGrid, createSearchForm, createTable, defaultPage, findTargetInTree, findTargetListInTree, generateId, getColumnFormItemName, getColumnValueType, getFirstPropName, getFormItemEl, getItemEl, getValidValues, mergeStateToList, provideProCurd, provideProFormList, provideProModule, renderElement, renderElements, useComposeRequestActor, useDoneRequestActor, useFailedRequestActor, useModuleEvent, useProCurd, useProForm, useProFormList, useProModule, useProTable };
965
+ export { BooleanObjType, BooleanRulesObjType, CurdAction, CurdAddAction, CurdCurrentMode, CurdMethods, CurdSubAction, FieldNames, FormItemProps, GridProps, ICurdAction, ICurdAddAction, ICurdCurrentMode, ICurdOperateOpts, ICurdState, ICurdSubAction, IElementConfig, IHighConfig, IListData, IOperateItem, IProCurdProvide, IProFormProvideExtra, IProModuleProvide, IProTableProvide, IProTableProvideExtra, IRequestOpts, ISearchMode, ITableOperate, InternalNamePath, NamePath, ProCurd, ProCurdAddOrEditProps, ProCurdListProps, ProCurdProps, ProFormItemProps, ProFormListProps, ProFormProps, ProModalCurd, ProModalCurdProps, ProModule, ProModuleProps, ProPageCurd, ProPageCurdProps, ProSearchFormProps, ProTableProps, RequestAction, SearchMode, TActionEvent, TActionState, TColumn, TColumns, TCurdActionEvent, TData, TDefaultValueType, TElementMap, TOption, TOptions, TPageState, TTableColumn, TTableColumns, TValueType, Wrapper, convertPathToList, createCurdDesc, createCurdForm, createCurdList, createExpose, createForm, createFormItemCompFn, createFormList, createGrid, createSearchForm, createTable, defaultPage, findTargetInTree, findTargetListInTree, generateId, getColumnFormItemName, getColumnValueType, getFirstPropName, getFormItemEl, getItemEl, getValidValues, mergeStateToList, provideProCurd, provideProFormList, provideProModule, renderElement, renderElements, useComposeRequestActor, useDoneRequestActor, useFailedRequestActor, useModuleEvent, useProCurd, useProForm, useProFormList, useProModule, useProTable };
package/dist/index.es.js CHANGED
@@ -989,6 +989,7 @@ var proCurdProps = function proCurdProps() {
989
989
  };
990
990
  };
991
991
 
992
+ var CurdMethods = ["sendCurdEvent", "refreshList", "sendEvent", "sendRequest"];
992
993
  var Curd = defineComponent({
993
994
  props: _objectSpread2({}, proCurdProps()),
994
995
  setup: function setup(props, _ref) {
@@ -1168,7 +1169,6 @@ var Curd = defineComponent({
1168
1169
  });
1169
1170
  expose({
1170
1171
  sendCurdEvent: sendCurdEvent,
1171
- getOperate: getOperate,
1172
1172
  refreshList: handleSearch
1173
1173
  });
1174
1174
  return function () {
@@ -1250,8 +1250,30 @@ var ProCurd = defineComponent({
1250
1250
  });
1251
1251
  var moduleKeys = keys(omit(ProModule.props, "state", "requests"));
1252
1252
  expose({
1253
- moduleRef: moduleRef,
1254
- curdRef: curdRef
1253
+ sendCurdEvent: function sendCurdEvent(event) {
1254
+ var _curdRef$value;
1255
+
1256
+ (_curdRef$value = curdRef.value) === null || _curdRef$value === void 0 ? void 0 : _curdRef$value.sendCurdEvent(event);
1257
+ },
1258
+ refreshList: function refreshList(extra) {
1259
+ var _curdRef$value2;
1260
+
1261
+ (_curdRef$value2 = curdRef.value) === null || _curdRef$value2 === void 0 ? void 0 : _curdRef$value2.refreshList(extra);
1262
+ },
1263
+ sendEvent: function sendEvent(action) {
1264
+ var _moduleRef$value;
1265
+
1266
+ (_moduleRef$value = moduleRef.value) === null || _moduleRef$value === void 0 ? void 0 : _moduleRef$value.sendEvent(action);
1267
+ },
1268
+ sendRequest: function sendRequest(requestNameOrAction) {
1269
+ var _moduleRef$value2;
1270
+
1271
+ for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1272
+ params[_key - 1] = arguments[_key];
1273
+ }
1274
+
1275
+ (_moduleRef$value2 = moduleRef.value) === null || _moduleRef$value2 === void 0 ? void 0 : _moduleRef$value2.sendEvent.apply(_moduleRef$value2, [requestNameOrAction].concat(params));
1276
+ }
1255
1277
  });
1256
1278
  return function () {
1257
1279
  return createVNode(ProModule, mergeProps({
@@ -1280,8 +1302,8 @@ var modalCurdProps = function modalCurdProps() {
1280
1302
  };
1281
1303
  };
1282
1304
 
1283
- /**
1284
- * 事件处理
1305
+ /**
1306
+ * 事件处理
1285
1307
  */
1286
1308
  var ModalCurd = defineComponent({
1287
1309
  props: _objectSpread2({}, modalCurdProps()),
@@ -1437,12 +1459,17 @@ var ModalCurd = defineComponent({
1437
1459
  var ProModalCurd = defineComponent({
1438
1460
  props: _objectSpread2(_objectSpread2({}, ProCurd.props), ModalCurd.props),
1439
1461
  setup: function setup(props, _ref4) {
1440
- var slots = _ref4.slots;
1462
+ var slots = _ref4.slots,
1463
+ expose = _ref4.expose;
1464
+ var curdRef = ref();
1465
+ expose(createExpose(CurdMethods, curdRef));
1441
1466
  var invalidKeys = keys(ModalCurd.props);
1442
1467
  return function () {
1443
1468
  var _slots$default;
1444
1469
 
1445
- return createVNode(ProCurd, omit(props, invalidKeys), {
1470
+ return createVNode(ProCurd, mergeProps({
1471
+ "ref": curdRef
1472
+ }, omit(props, invalidKeys)), {
1446
1473
  "default": function _default() {
1447
1474
  return [createVNode(ModalCurd, pick(props, invalidKeys), null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
1448
1475
  }
@@ -1609,12 +1636,17 @@ var PageCurd = defineComponent({
1609
1636
  var ProPageCurd = defineComponent({
1610
1637
  props: _objectSpread2(_objectSpread2({}, ProCurd.props), PageCurd.props),
1611
1638
  setup: function setup(props, _ref4) {
1612
- var slots = _ref4.slots;
1639
+ var slots = _ref4.slots,
1640
+ expose = _ref4.expose;
1641
+ var curdRef = ref();
1642
+ expose(createExpose(CurdMethods, curdRef));
1613
1643
  var invalidKeys = keys(PageCurd.props);
1614
1644
  return function () {
1615
1645
  var _slots$default;
1616
1646
 
1617
- return createVNode(ProCurd, omit(props, invalidKeys), {
1647
+ return createVNode(ProCurd, mergeProps({
1648
+ "ref": curdRef
1649
+ }, omit(props, invalidKeys)), {
1618
1650
  "default": function _default() {
1619
1651
  return [createVNode(PageCurd, pick(props, invalidKeys), null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
1620
1652
  }
@@ -1633,6 +1665,10 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1633
1665
  //重写Item content
1634
1666
  renderItem: {
1635
1667
  type: Function
1668
+ },
1669
+ //标记名称
1670
+ signName: {
1671
+ type: String
1636
1672
  }
1637
1673
  }),
1638
1674
  setup: function setup(props, _ref) {
@@ -1641,10 +1677,12 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1641
1677
  var _useProCurd = useProCurd(),
1642
1678
  getItemVNode = _useProCurd.getItemVNode,
1643
1679
  curdState = _useProCurd.curdState,
1644
- descColumns = _useProCurd.descColumns;
1680
+ descColumns = _useProCurd.descColumns,
1681
+ getSignColumns = _useProCurd.getSignColumns;
1645
1682
 
1646
1683
  var descVNodes = computed(function () {
1647
- return map(descColumns.value, function (item) {
1684
+ var columns = props.signName ? getSignColumns(props.signName) : descColumns.value;
1685
+ return map(columns, function (item) {
1648
1686
  var _slot;
1649
1687
 
1650
1688
  var _props$renderItem;
@@ -1681,6 +1719,10 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1681
1719
 
1682
1720
  var proCurdAddOrEditProps = function proCurdAddOrEditProps() {
1683
1721
  return {
1722
+ //标记名称
1723
+ signName: {
1724
+ type: String
1725
+ },
1684
1726
  //是否使用operate bar
1685
1727
  operateBar: {
1686
1728
  type: Boolean,
@@ -1710,22 +1752,38 @@ var proCurdAddOrEditProps = function proCurdAddOrEditProps() {
1710
1752
  };
1711
1753
  };
1712
1754
 
1713
- var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1755
+ var createCurdForm = function createCurdForm(Form, Button, convertFormProps, formMethods) {
1714
1756
  return defineComponent({
1757
+ inheritAttrs: false,
1715
1758
  props: _objectSpread2(_objectSpread2({}, Form.props), proCurdAddOrEditProps()),
1716
1759
  setup: function setup(props, _ref) {
1717
- var slots = _ref.slots;
1760
+ var slots = _ref.slots,
1761
+ attrs = _ref.attrs,
1762
+ expose = _ref.expose;
1718
1763
 
1719
1764
  var _useProCurd = useProCurd(),
1720
1765
  elementMap = _useProCurd.elementMap,
1721
1766
  formElementMap = _useProCurd.formElementMap,
1722
1767
  curdState = _useProCurd.curdState,
1723
1768
  formColumns = _useProCurd.formColumns,
1769
+ getSignColumns = _useProCurd.getSignColumns,
1724
1770
  sendCurdEvent = _useProCurd.sendCurdEvent;
1725
1771
 
1726
1772
  var formRef = ref();
1773
+ var columns = computed(function () {
1774
+ if (props.signName) {
1775
+ return getSignColumns(props.signName);
1776
+ }
1777
+
1778
+ return formColumns.value;
1779
+ });
1780
+
1781
+ var handleFinish = function handleFinish(values, originValues) {
1782
+ if (attrs.onFinish) {
1783
+ attrs.onFinish(values, originValues);
1784
+ return;
1785
+ }
1727
1786
 
1728
- var handleFinish = function handleFinish(values) {
1729
1787
  if (curdState.mode === CurdCurrentMode.EDIT) {
1730
1788
  //edit
1731
1789
  sendCurdEvent({
@@ -1757,15 +1815,16 @@ var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1757
1815
  (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.submit();
1758
1816
  };
1759
1817
 
1818
+ expose(createExpose(formMethods, formRef));
1760
1819
  return function () {
1761
1820
  var _slots$divide, _slots$operateStart, _slots$operateCenter, _slots$operateEnd, _slots$default;
1762
1821
 
1763
1822
  return createVNode(Form, mergeProps({
1764
1823
  "ref": formRef
1765
- }, props, {
1824
+ }, omit(attrs, "onFinish"), props, {
1766
1825
  "elementMap": props.elementMap || elementMap,
1767
1826
  "formElementMap": props.formElementMap || formElementMap,
1768
- "columns": formColumns.value,
1827
+ "columns": columns.value,
1769
1828
  "model": curdState.detailData,
1770
1829
  "readonly": curdState.mode === CurdCurrentMode.DETAIL,
1771
1830
  "onFinish": handleFinish
@@ -1799,8 +1858,8 @@ var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1799
1858
 
1800
1859
  var proCurdListProps = function proCurdListProps() {
1801
1860
  return {
1802
- /**
1803
- * extra 是否放到SearchForm中
1861
+ /**
1862
+ * extra 是否放到SearchForm中
1804
1863
  */
1805
1864
  extraInSearch: {
1806
1865
  type: Boolean,
@@ -1903,9 +1962,29 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1903
1962
  };
1904
1963
 
1905
1964
  return function () {
1906
- var _props$searchProps, _slots$divide, _curdState$listData, _slots$divide2, _slots$footerStart, _slots$pagination, _curdState$listData2, _slots$footerEnd;
1965
+ var _curdState$listData, _props$searchProps, _slots$divide, _slots$divide2, _slots$footerStart, _slots$pagination, _curdState$listData2, _slots$footerEnd;
1907
1966
 
1908
1967
  var tableProps = props.tableProps;
1968
+
1969
+ var rewriteTableProps = _objectSpread2(_objectSpread2({
1970
+ elementMap: elementMap
1971
+ }, omit(tableProps, "slots", "operate")), {}, {
1972
+ operate: mergeWith({
1973
+ items: tableOperateItems
1974
+ }, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
1975
+ if (isArray(objValue) && isArray(srcValue)) {
1976
+ return concat(objValue, convertOperateItems(srcValue));
1977
+ }
1978
+ }),
1979
+ paginationState: {
1980
+ page: pageState.page,
1981
+ pageSize: pageState.pageSize
1982
+ },
1983
+ columns: tableColumns.value,
1984
+ loading: curdState.listLoading,
1985
+ dataSource: (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
1986
+ });
1987
+
1909
1988
  var extra = slots.extra ? createVNode("div", {
1910
1989
  "class": "pro-curd-list-extra"
1911
1990
  }, [slots.extra()]) : null;
@@ -1918,24 +1997,7 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1918
1997
  "default": function _default() {
1919
1998
  return [props.extraInSearch && extra];
1920
1999
  }
1921
- }, (_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.slots)), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots.table ? slots.table() : createVNode(Table, mergeProps({
1922
- "elementMap": elementMap
1923
- }, omit(tableProps, "slots", "operate"), {
1924
- "operate": mergeWith({
1925
- items: tableOperateItems
1926
- }, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
1927
- if (isArray(objValue) && isArray(srcValue)) {
1928
- return concat(objValue, convertOperateItems(srcValue));
1929
- }
1930
- }),
1931
- "paginationState": {
1932
- page: pageState.page,
1933
- pageSize: pageState.pageSize
1934
- },
1935
- "columns": tableColumns.value,
1936
- "loading": curdState.listLoading,
1937
- "dataSource": (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
1938
- }), tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), createVNode("div", {
2000
+ }, (_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.slots)), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots.table ? slots.table(rewriteTableProps) : createVNode(Table, rewriteTableProps, tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), createVNode("div", {
1939
2001
  "class": "pro-curd-list-footer"
1940
2002
  }, [(_slots$footerStart = slots.footerStart) === null || _slots$footerStart === void 0 ? void 0 : _slots$footerStart.call(slots), (_slots$pagination = slots.pagination) === null || _slots$pagination === void 0 ? void 0 : _slots$pagination.call(slots, pageState, (_curdState$listData2 = curdState.listData) === null || _curdState$listData2 === void 0 ? void 0 : _curdState$listData2.total, handleSearch), (_slots$footerEnd = slots.footerEnd) === null || _slots$footerEnd === void 0 ? void 0 : _slots$footerEnd.call(slots)])]);
1941
2003
  };
@@ -2149,7 +2211,7 @@ var proFormProps = function proFormProps() {
2149
2211
  };
2150
2212
  };
2151
2213
 
2152
- var createForm = function createForm(Form, Grid) {
2214
+ var createForm = function createForm(Form, Grid, formMethods) {
2153
2215
  return defineComponent({
2154
2216
  inheritAttrs: false,
2155
2217
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Form.props), proFormProps()), omit(Grid.props, "items")),
@@ -2201,22 +2263,7 @@ var createForm = function createForm(Form, Grid) {
2201
2263
  };
2202
2264
 
2203
2265
  var formRef = ref();
2204
- expose({
2205
- submit: function submit() {
2206
- var _formRef$value;
2207
-
2208
- (_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.submit();
2209
- },
2210
- resetFields: function resetFields() {
2211
- var _formRef$value2;
2212
-
2213
- for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
2214
- params[_key] = arguments[_key];
2215
- }
2216
-
2217
- (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.resetFields.apply(_formRef$value2, params);
2218
- }
2219
- });
2266
+ expose(createExpose(formMethods, formRef));
2220
2267
  provideProForm(_objectSpread2({
2221
2268
  formState: formState,
2222
2269
  showState: showState,
@@ -2328,11 +2375,12 @@ var proSearchFormProps = function proSearchFormProps() {
2328
2375
  * 该组件只是个模式,最终返回null,不做任何渲染,应配合着ProForm的包装类一起使用
2329
2376
  * 针对传入的model(监听对象)做相应的finish(回调)处理
2330
2377
  */
2331
- var createSearchForm = function createSearchForm(Form, Props) {
2378
+ var createSearchForm = function createSearchForm(Form, Props, formMethods) {
2332
2379
  return defineComponent({
2333
2380
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Form.props), Props), proSearchFormProps()),
2334
2381
  setup: function setup(props, _ref) {
2335
- var slots = _ref.slots;
2382
+ var slots = _ref.slots,
2383
+ expose = _ref.expose;
2336
2384
  var formState = props.model || reactive({});
2337
2385
  var valueTypeSet = new Set(props.debounceTypes); //根据column valueType 算出默认需要debounce处理的属性集合
2338
2386
 
@@ -2344,6 +2392,7 @@ var createSearchForm = function createSearchForm(Form, Props) {
2344
2392
  return getColumnFormItemName(column);
2345
2393
  });
2346
2394
  var formRef = ref();
2395
+ expose(createExpose(formMethods, formRef));
2347
2396
 
2348
2397
  var handleFinish = function handleFinish() {
2349
2398
  var _formRef$value;
@@ -2500,8 +2549,8 @@ var proTableProps = function proTableProps() {
2500
2549
  type: String
2501
2550
  },
2502
2551
 
2503
- /**
2504
- * 公共column,会merge到columns item中
2552
+ /**
2553
+ * 公共column,会merge到columns item中
2505
2554
  */
2506
2555
  column: {
2507
2556
  type: Object
@@ -2514,29 +2563,29 @@ var proTableProps = function proTableProps() {
2514
2563
  type: Object
2515
2564
  },
2516
2565
 
2517
- /**
2518
- * 展示控件集合,readonly模式下使用这些组件渲染
2566
+ /**
2567
+ * 展示控件集合,readonly模式下使用这些组件渲染
2519
2568
  */
2520
2569
  elementMap: {
2521
2570
  type: Object
2522
2571
  },
2523
2572
 
2524
- /**
2525
- * 序号
2573
+ /**
2574
+ * 序号
2526
2575
  */
2527
2576
  serialNumber: {
2528
2577
  type: Boolean
2529
2578
  },
2530
2579
 
2531
- /**
2532
- * 分页
2580
+ /**
2581
+ * 分页
2533
2582
  */
2534
2583
  paginationState: {
2535
2584
  type: Object
2536
2585
  },
2537
2586
 
2538
- /**
2539
- * provide传递
2587
+ /**
2588
+ * provide传递
2540
2589
  */
2541
2590
  provideExtra: {
2542
2591
  type: Object
@@ -2544,11 +2593,12 @@ var proTableProps = function proTableProps() {
2544
2593
  };
2545
2594
  };
2546
2595
 
2547
- var createTable = function createTable(Table, Props) {
2596
+ var createTable = function createTable(Table, Props, tableMethods) {
2548
2597
  return defineComponent({
2549
2598
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Table.props), Props), proTableProps()),
2550
2599
  setup: function setup(props, _ref) {
2551
- var slots = _ref.slots;
2600
+ var slots = _ref.slots,
2601
+ expose = _ref.expose;
2552
2602
 
2553
2603
  var createNumberColumn = function createNumberColumn() {
2554
2604
  return _objectSpread2(_objectSpread2({
@@ -2663,6 +2713,7 @@ var createTable = function createTable(Table, Props) {
2663
2713
  columns: columns,
2664
2714
  tableRef: tableRef
2665
2715
  }, props.provideExtra));
2716
+ expose(createExpose(tableMethods || [], tableRef));
2666
2717
  var invalidKeys = keys(proTableProps());
2667
2718
  return function () {
2668
2719
  return createVNode(Table, mergeProps({
@@ -2675,4 +2726,4 @@ var createTable = function createTable(Table, Props) {
2675
2726
  });
2676
2727
  };
2677
2728
 
2678
- export { CurdAction, CurdAddAction, CurdCurrentMode, CurdSubAction, ProCurd, ProModalCurd, ProModule, ProPageCurd, RequestAction, SearchMode, Wrapper, convertPathToList, createCurdDesc, createCurdForm, createCurdList, createExpose, createForm, createFormItemCompFn, createFormList, createGrid, createSearchForm, createTable, defaultPage, findTargetInTree, findTargetListInTree, generateId, getColumnFormItemName, getColumnValueType, getFirstPropName, getFormItemEl, getItemEl, getValidValues, mergeStateToList, provideProCurd, provideProFormList, provideProModule, renderElement, renderElements, useComposeRequestActor, useDoneRequestActor, useFailedRequestActor, useModuleEvent, useProCurd, useProForm, useProFormList, useProModule, useProTable };
2729
+ export { CurdAction, CurdAddAction, CurdCurrentMode, CurdMethods, CurdSubAction, ProCurd, ProModalCurd, ProModule, ProPageCurd, RequestAction, SearchMode, Wrapper, convertPathToList, createCurdDesc, createCurdForm, createCurdList, createExpose, createForm, createFormItemCompFn, createFormList, createGrid, createSearchForm, createTable, defaultPage, findTargetInTree, findTargetListInTree, generateId, getColumnFormItemName, getColumnValueType, getFirstPropName, getFormItemEl, getItemEl, getValidValues, mergeStateToList, provideProCurd, provideProFormList, provideProModule, renderElement, renderElements, useComposeRequestActor, useDoneRequestActor, useFailedRequestActor, useModuleEvent, useProCurd, useProForm, useProFormList, useProModule, useProTable };
package/dist/index.js CHANGED
@@ -993,6 +993,7 @@ var proCurdProps = function proCurdProps() {
993
993
  };
994
994
  };
995
995
 
996
+ var CurdMethods = ["sendCurdEvent", "refreshList", "sendEvent", "sendRequest"];
996
997
  var Curd = vue.defineComponent({
997
998
  props: _objectSpread2({}, proCurdProps()),
998
999
  setup: function setup(props, _ref) {
@@ -1172,7 +1173,6 @@ var Curd = vue.defineComponent({
1172
1173
  });
1173
1174
  expose({
1174
1175
  sendCurdEvent: sendCurdEvent,
1175
- getOperate: getOperate,
1176
1176
  refreshList: handleSearch
1177
1177
  });
1178
1178
  return function () {
@@ -1254,8 +1254,30 @@ var ProCurd = vue.defineComponent({
1254
1254
  });
1255
1255
  var moduleKeys = lodash.keys(lodash.omit(ProModule.props, "state", "requests"));
1256
1256
  expose({
1257
- moduleRef: moduleRef,
1258
- curdRef: curdRef
1257
+ sendCurdEvent: function sendCurdEvent(event) {
1258
+ var _curdRef$value;
1259
+
1260
+ (_curdRef$value = curdRef.value) === null || _curdRef$value === void 0 ? void 0 : _curdRef$value.sendCurdEvent(event);
1261
+ },
1262
+ refreshList: function refreshList(extra) {
1263
+ var _curdRef$value2;
1264
+
1265
+ (_curdRef$value2 = curdRef.value) === null || _curdRef$value2 === void 0 ? void 0 : _curdRef$value2.refreshList(extra);
1266
+ },
1267
+ sendEvent: function sendEvent(action) {
1268
+ var _moduleRef$value;
1269
+
1270
+ (_moduleRef$value = moduleRef.value) === null || _moduleRef$value === void 0 ? void 0 : _moduleRef$value.sendEvent(action);
1271
+ },
1272
+ sendRequest: function sendRequest(requestNameOrAction) {
1273
+ var _moduleRef$value2;
1274
+
1275
+ for (var _len = arguments.length, params = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1276
+ params[_key - 1] = arguments[_key];
1277
+ }
1278
+
1279
+ (_moduleRef$value2 = moduleRef.value) === null || _moduleRef$value2 === void 0 ? void 0 : _moduleRef$value2.sendEvent.apply(_moduleRef$value2, [requestNameOrAction].concat(params));
1280
+ }
1259
1281
  });
1260
1282
  return function () {
1261
1283
  return vue.createVNode(ProModule, vue.mergeProps({
@@ -1284,8 +1306,8 @@ var modalCurdProps = function modalCurdProps() {
1284
1306
  };
1285
1307
  };
1286
1308
 
1287
- /**
1288
- * 事件处理
1309
+ /**
1310
+ * 事件处理
1289
1311
  */
1290
1312
  var ModalCurd = vue.defineComponent({
1291
1313
  props: _objectSpread2({}, modalCurdProps()),
@@ -1441,12 +1463,17 @@ var ModalCurd = vue.defineComponent({
1441
1463
  var ProModalCurd = vue.defineComponent({
1442
1464
  props: _objectSpread2(_objectSpread2({}, ProCurd.props), ModalCurd.props),
1443
1465
  setup: function setup(props, _ref4) {
1444
- var slots = _ref4.slots;
1466
+ var slots = _ref4.slots,
1467
+ expose = _ref4.expose;
1468
+ var curdRef = vue.ref();
1469
+ expose(createExpose(CurdMethods, curdRef));
1445
1470
  var invalidKeys = lodash.keys(ModalCurd.props);
1446
1471
  return function () {
1447
1472
  var _slots$default;
1448
1473
 
1449
- return vue.createVNode(ProCurd, lodash.omit(props, invalidKeys), {
1474
+ return vue.createVNode(ProCurd, vue.mergeProps({
1475
+ "ref": curdRef
1476
+ }, lodash.omit(props, invalidKeys)), {
1450
1477
  "default": function _default() {
1451
1478
  return [vue.createVNode(ModalCurd, lodash.pick(props, invalidKeys), null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
1452
1479
  }
@@ -1613,12 +1640,17 @@ var PageCurd = vue.defineComponent({
1613
1640
  var ProPageCurd = vue.defineComponent({
1614
1641
  props: _objectSpread2(_objectSpread2({}, ProCurd.props), PageCurd.props),
1615
1642
  setup: function setup(props, _ref4) {
1616
- var slots = _ref4.slots;
1643
+ var slots = _ref4.slots,
1644
+ expose = _ref4.expose;
1645
+ var curdRef = vue.ref();
1646
+ expose(createExpose(CurdMethods, curdRef));
1617
1647
  var invalidKeys = lodash.keys(PageCurd.props);
1618
1648
  return function () {
1619
1649
  var _slots$default;
1620
1650
 
1621
- return vue.createVNode(ProCurd, lodash.omit(props, invalidKeys), {
1651
+ return vue.createVNode(ProCurd, vue.mergeProps({
1652
+ "ref": curdRef
1653
+ }, lodash.omit(props, invalidKeys)), {
1622
1654
  "default": function _default() {
1623
1655
  return [vue.createVNode(PageCurd, lodash.pick(props, invalidKeys), null), (_slots$default = slots["default"]) === null || _slots$default === void 0 ? void 0 : _slots$default.call(slots)];
1624
1656
  }
@@ -1637,6 +1669,10 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1637
1669
  //重写Item content
1638
1670
  renderItem: {
1639
1671
  type: Function
1672
+ },
1673
+ //标记名称
1674
+ signName: {
1675
+ type: String
1640
1676
  }
1641
1677
  }),
1642
1678
  setup: function setup(props, _ref) {
@@ -1645,10 +1681,12 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1645
1681
  var _useProCurd = useProCurd(),
1646
1682
  getItemVNode = _useProCurd.getItemVNode,
1647
1683
  curdState = _useProCurd.curdState,
1648
- descColumns = _useProCurd.descColumns;
1684
+ descColumns = _useProCurd.descColumns,
1685
+ getSignColumns = _useProCurd.getSignColumns;
1649
1686
 
1650
1687
  var descVNodes = vue.computed(function () {
1651
- return lodash.map(descColumns.value, function (item) {
1688
+ var columns = props.signName ? getSignColumns(props.signName) : descColumns.value;
1689
+ return lodash.map(columns, function (item) {
1652
1690
  var _slot;
1653
1691
 
1654
1692
  var _props$renderItem;
@@ -1685,6 +1723,10 @@ var createCurdDesc = function createCurdDesc(Descriptions, DescriptionsItem) {
1685
1723
 
1686
1724
  var proCurdAddOrEditProps = function proCurdAddOrEditProps() {
1687
1725
  return {
1726
+ //标记名称
1727
+ signName: {
1728
+ type: String
1729
+ },
1688
1730
  //是否使用operate bar
1689
1731
  operateBar: {
1690
1732
  type: Boolean,
@@ -1714,22 +1756,38 @@ var proCurdAddOrEditProps = function proCurdAddOrEditProps() {
1714
1756
  };
1715
1757
  };
1716
1758
 
1717
- var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1759
+ var createCurdForm = function createCurdForm(Form, Button, convertFormProps, formMethods) {
1718
1760
  return vue.defineComponent({
1761
+ inheritAttrs: false,
1719
1762
  props: _objectSpread2(_objectSpread2({}, Form.props), proCurdAddOrEditProps()),
1720
1763
  setup: function setup(props, _ref) {
1721
- var slots = _ref.slots;
1764
+ var slots = _ref.slots,
1765
+ attrs = _ref.attrs,
1766
+ expose = _ref.expose;
1722
1767
 
1723
1768
  var _useProCurd = useProCurd(),
1724
1769
  elementMap = _useProCurd.elementMap,
1725
1770
  formElementMap = _useProCurd.formElementMap,
1726
1771
  curdState = _useProCurd.curdState,
1727
1772
  formColumns = _useProCurd.formColumns,
1773
+ getSignColumns = _useProCurd.getSignColumns,
1728
1774
  sendCurdEvent = _useProCurd.sendCurdEvent;
1729
1775
 
1730
1776
  var formRef = vue.ref();
1777
+ var columns = vue.computed(function () {
1778
+ if (props.signName) {
1779
+ return getSignColumns(props.signName);
1780
+ }
1781
+
1782
+ return formColumns.value;
1783
+ });
1784
+
1785
+ var handleFinish = function handleFinish(values, originValues) {
1786
+ if (attrs.onFinish) {
1787
+ attrs.onFinish(values, originValues);
1788
+ return;
1789
+ }
1731
1790
 
1732
- var handleFinish = function handleFinish(values) {
1733
1791
  if (curdState.mode === exports.CurdCurrentMode.EDIT) {
1734
1792
  //edit
1735
1793
  sendCurdEvent({
@@ -1761,15 +1819,16 @@ var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1761
1819
  (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.submit();
1762
1820
  };
1763
1821
 
1822
+ expose(createExpose(formMethods, formRef));
1764
1823
  return function () {
1765
1824
  var _slots$divide, _slots$operateStart, _slots$operateCenter, _slots$operateEnd, _slots$default;
1766
1825
 
1767
1826
  return vue.createVNode(Form, vue.mergeProps({
1768
1827
  "ref": formRef
1769
- }, props, {
1828
+ }, lodash.omit(attrs, "onFinish"), props, {
1770
1829
  "elementMap": props.elementMap || elementMap,
1771
1830
  "formElementMap": props.formElementMap || formElementMap,
1772
- "columns": formColumns.value,
1831
+ "columns": columns.value,
1773
1832
  "model": curdState.detailData,
1774
1833
  "readonly": curdState.mode === exports.CurdCurrentMode.DETAIL,
1775
1834
  "onFinish": handleFinish
@@ -1803,8 +1862,8 @@ var createCurdForm = function createCurdForm(Form, Button, convertFormProps) {
1803
1862
 
1804
1863
  var proCurdListProps = function proCurdListProps() {
1805
1864
  return {
1806
- /**
1807
- * extra 是否放到SearchForm中
1865
+ /**
1866
+ * extra 是否放到SearchForm中
1808
1867
  */
1809
1868
  extraInSearch: {
1810
1869
  type: Boolean,
@@ -1907,9 +1966,29 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1907
1966
  };
1908
1967
 
1909
1968
  return function () {
1910
- var _props$searchProps, _slots$divide, _curdState$listData, _slots$divide2, _slots$footerStart, _slots$pagination, _curdState$listData2, _slots$footerEnd;
1969
+ var _curdState$listData, _props$searchProps, _slots$divide, _slots$divide2, _slots$footerStart, _slots$pagination, _curdState$listData2, _slots$footerEnd;
1911
1970
 
1912
1971
  var tableProps = props.tableProps;
1972
+
1973
+ var rewriteTableProps = _objectSpread2(_objectSpread2({
1974
+ elementMap: elementMap
1975
+ }, lodash.omit(tableProps, "slots", "operate")), {}, {
1976
+ operate: lodash.mergeWith({
1977
+ items: tableOperateItems
1978
+ }, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
1979
+ if (lodash.isArray(objValue) && lodash.isArray(srcValue)) {
1980
+ return lodash.concat(objValue, convertOperateItems(srcValue));
1981
+ }
1982
+ }),
1983
+ paginationState: {
1984
+ page: pageState.page,
1985
+ pageSize: pageState.pageSize
1986
+ },
1987
+ columns: tableColumns.value,
1988
+ loading: curdState.listLoading,
1989
+ dataSource: (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
1990
+ });
1991
+
1913
1992
  var extra = slots.extra ? vue.createVNode("div", {
1914
1993
  "class": "pro-curd-list-extra"
1915
1994
  }, [slots.extra()]) : null;
@@ -1922,24 +2001,7 @@ var createCurdList = function createCurdList(SearchForm, Table) {
1922
2001
  "default": function _default() {
1923
2002
  return [props.extraInSearch && extra];
1924
2003
  }
1925
- }, (_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.slots)), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots.table ? slots.table() : vue.createVNode(Table, vue.mergeProps({
1926
- "elementMap": elementMap
1927
- }, lodash.omit(tableProps, "slots", "operate"), {
1928
- "operate": lodash.mergeWith({
1929
- items: tableOperateItems
1930
- }, tableProps === null || tableProps === void 0 ? void 0 : tableProps.operate, function (objValue, srcValue) {
1931
- if (lodash.isArray(objValue) && lodash.isArray(srcValue)) {
1932
- return lodash.concat(objValue, convertOperateItems(srcValue));
1933
- }
1934
- }),
1935
- "paginationState": {
1936
- page: pageState.page,
1937
- pageSize: pageState.pageSize
1938
- },
1939
- "columns": tableColumns.value,
1940
- "loading": curdState.listLoading,
1941
- "dataSource": (_curdState$listData = curdState.listData) === null || _curdState$listData === void 0 ? void 0 : _curdState$listData.dataSource
1942
- }), tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), vue.createVNode("div", {
2004
+ }, (_props$searchProps = props.searchProps) === null || _props$searchProps === void 0 ? void 0 : _props$searchProps.slots)), (_slots$divide = slots.divide) === null || _slots$divide === void 0 ? void 0 : _slots$divide.call(slots), !props.extraInSearch && extra, slots.table ? slots.table(rewriteTableProps) : vue.createVNode(Table, rewriteTableProps, tableProps === null || tableProps === void 0 ? void 0 : tableProps.slots), (_slots$divide2 = slots.divide2) === null || _slots$divide2 === void 0 ? void 0 : _slots$divide2.call(slots), vue.createVNode("div", {
1943
2005
  "class": "pro-curd-list-footer"
1944
2006
  }, [(_slots$footerStart = slots.footerStart) === null || _slots$footerStart === void 0 ? void 0 : _slots$footerStart.call(slots), (_slots$pagination = slots.pagination) === null || _slots$pagination === void 0 ? void 0 : _slots$pagination.call(slots, pageState, (_curdState$listData2 = curdState.listData) === null || _curdState$listData2 === void 0 ? void 0 : _curdState$listData2.total, handleSearch), (_slots$footerEnd = slots.footerEnd) === null || _slots$footerEnd === void 0 ? void 0 : _slots$footerEnd.call(slots)])]);
1945
2007
  };
@@ -2153,7 +2215,7 @@ var proFormProps = function proFormProps() {
2153
2215
  };
2154
2216
  };
2155
2217
 
2156
- var createForm = function createForm(Form, Grid) {
2218
+ var createForm = function createForm(Form, Grid, formMethods) {
2157
2219
  return vue.defineComponent({
2158
2220
  inheritAttrs: false,
2159
2221
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Form.props), proFormProps()), lodash.omit(Grid.props, "items")),
@@ -2205,22 +2267,7 @@ var createForm = function createForm(Form, Grid) {
2205
2267
  };
2206
2268
 
2207
2269
  var formRef = vue.ref();
2208
- expose({
2209
- submit: function submit() {
2210
- var _formRef$value;
2211
-
2212
- (_formRef$value = formRef.value) === null || _formRef$value === void 0 ? void 0 : _formRef$value.submit();
2213
- },
2214
- resetFields: function resetFields() {
2215
- var _formRef$value2;
2216
-
2217
- for (var _len = arguments.length, params = new Array(_len), _key = 0; _key < _len; _key++) {
2218
- params[_key] = arguments[_key];
2219
- }
2220
-
2221
- (_formRef$value2 = formRef.value) === null || _formRef$value2 === void 0 ? void 0 : _formRef$value2.resetFields.apply(_formRef$value2, params);
2222
- }
2223
- });
2270
+ expose(createExpose(formMethods, formRef));
2224
2271
  provideProForm(_objectSpread2({
2225
2272
  formState: formState,
2226
2273
  showState: showState,
@@ -2332,11 +2379,12 @@ var proSearchFormProps = function proSearchFormProps() {
2332
2379
  * 该组件只是个模式,最终返回null,不做任何渲染,应配合着ProForm的包装类一起使用
2333
2380
  * 针对传入的model(监听对象)做相应的finish(回调)处理
2334
2381
  */
2335
- var createSearchForm = function createSearchForm(Form, Props) {
2382
+ var createSearchForm = function createSearchForm(Form, Props, formMethods) {
2336
2383
  return vue.defineComponent({
2337
2384
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Form.props), Props), proSearchFormProps()),
2338
2385
  setup: function setup(props, _ref) {
2339
- var slots = _ref.slots;
2386
+ var slots = _ref.slots,
2387
+ expose = _ref.expose;
2340
2388
  var formState = props.model || vue.reactive({});
2341
2389
  var valueTypeSet = new Set(props.debounceTypes); //根据column valueType 算出默认需要debounce处理的属性集合
2342
2390
 
@@ -2348,6 +2396,7 @@ var createSearchForm = function createSearchForm(Form, Props) {
2348
2396
  return getColumnFormItemName(column);
2349
2397
  });
2350
2398
  var formRef = vue.ref();
2399
+ expose(createExpose(formMethods, formRef));
2351
2400
 
2352
2401
  var handleFinish = function handleFinish() {
2353
2402
  var _formRef$value;
@@ -2504,8 +2553,8 @@ var proTableProps = function proTableProps() {
2504
2553
  type: String
2505
2554
  },
2506
2555
 
2507
- /**
2508
- * 公共column,会merge到columns item中
2556
+ /**
2557
+ * 公共column,会merge到columns item中
2509
2558
  */
2510
2559
  column: {
2511
2560
  type: Object
@@ -2518,29 +2567,29 @@ var proTableProps = function proTableProps() {
2518
2567
  type: Object
2519
2568
  },
2520
2569
 
2521
- /**
2522
- * 展示控件集合,readonly模式下使用这些组件渲染
2570
+ /**
2571
+ * 展示控件集合,readonly模式下使用这些组件渲染
2523
2572
  */
2524
2573
  elementMap: {
2525
2574
  type: Object
2526
2575
  },
2527
2576
 
2528
- /**
2529
- * 序号
2577
+ /**
2578
+ * 序号
2530
2579
  */
2531
2580
  serialNumber: {
2532
2581
  type: Boolean
2533
2582
  },
2534
2583
 
2535
- /**
2536
- * 分页
2584
+ /**
2585
+ * 分页
2537
2586
  */
2538
2587
  paginationState: {
2539
2588
  type: Object
2540
2589
  },
2541
2590
 
2542
- /**
2543
- * provide传递
2591
+ /**
2592
+ * provide传递
2544
2593
  */
2545
2594
  provideExtra: {
2546
2595
  type: Object
@@ -2548,11 +2597,12 @@ var proTableProps = function proTableProps() {
2548
2597
  };
2549
2598
  };
2550
2599
 
2551
- var createTable = function createTable(Table, Props) {
2600
+ var createTable = function createTable(Table, Props, tableMethods) {
2552
2601
  return vue.defineComponent({
2553
2602
  props: _objectSpread2(_objectSpread2(_objectSpread2({}, Table.props), Props), proTableProps()),
2554
2603
  setup: function setup(props, _ref) {
2555
- var slots = _ref.slots;
2604
+ var slots = _ref.slots,
2605
+ expose = _ref.expose;
2556
2606
 
2557
2607
  var createNumberColumn = function createNumberColumn() {
2558
2608
  return _objectSpread2(_objectSpread2({
@@ -2667,6 +2717,7 @@ var createTable = function createTable(Table, Props) {
2667
2717
  columns: columns,
2668
2718
  tableRef: tableRef
2669
2719
  }, props.provideExtra));
2720
+ expose(createExpose(tableMethods || [], tableRef));
2670
2721
  var invalidKeys = lodash.keys(proTableProps());
2671
2722
  return function () {
2672
2723
  return vue.createVNode(Table, vue.mergeProps({
@@ -2679,6 +2730,7 @@ var createTable = function createTable(Table, Props) {
2679
2730
  });
2680
2731
  };
2681
2732
 
2733
+ exports.CurdMethods = CurdMethods;
2682
2734
  exports.ProCurd = ProCurd;
2683
2735
  exports.ProModalCurd = ProModalCurd;
2684
2736
  exports.ProModule = ProModule;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue-start/pro",
3
- "version": "0.4.1",
3
+ "version": "0.4.4",
4
4
  "description": "> TODO: description",
5
5
  "author": "zx <zxpstudy@163.com>",
6
6
  "homepage": "https://github.com/zxeryu/vue-start#readme",
@@ -32,5 +32,5 @@
32
32
  "vue": ">=3.x",
33
33
  "vue-router": ">=4.x"
34
34
  },
35
- "gitHead": "adf3a978c60ccb84172c2287b67d2e5ead0d0dcf"
35
+ "gitHead": "4cadd260951f249478eabe6e9b21bdbeb802de4c"
36
36
  }