@power-xa/m-ui 0.0.3 → 0.0.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/README.md CHANGED
@@ -18,4 +18,9 @@
18
18
  - ConfigProvider
19
19
  - CreatorEdit
20
20
  - Empty
21
- - ActionSheet
21
+ - ActionSheet
22
+
23
+ # 0.0.4
24
+ 1.Tabs修改(子组件内容更新后未重新渲染)
25
+ 2.PageContainer增加footer属性,可自定义底部内容
26
+ 3.Filter Children属性修改
@@ -7,7 +7,7 @@ type FilterProps = {
7
7
  onFilter?: (form: {
8
8
  [key: string]: any;
9
9
  }) => void;
10
- children?: ReactElement[];
10
+ children?: ReactElement | ReactElement[];
11
11
  };
12
12
  declare const Filter: FC<FilterProps>;
13
13
  export default Filter;
@@ -12,6 +12,7 @@ type PageContainerProps = {
12
12
  children?: ReactNode;
13
13
  className?: string;
14
14
  disabledScroll?: boolean;
15
+ footer?: ReactNode;
15
16
  };
16
17
  declare const PageContainer: FC<PageContainerProps>;
17
18
  export default PageContainer;
@@ -1,5 +1,5 @@
1
1
  import React, { Fragment } from "react";
2
- import { getMenuButtonBoundingClientRect, navigateBack } from "@tarojs/taro";
2
+ import { getMenuButtonBoundingClientRect, navigateBack, getWindowInfo } from "@tarojs/taro";
3
3
  import { ScrollView, Text, View } from "@tarojs/components";
4
4
  import "./index.less";
5
5
  var PageContainer = function PageContainer(_ref) {
@@ -8,11 +8,17 @@ var PageContainer = function PageContainer(_ref) {
8
8
  header = _ref.header,
9
9
  children = _ref.children,
10
10
  className = _ref.className,
11
- disabledScroll = _ref.disabledScroll;
11
+ disabledScroll = _ref.disabledScroll,
12
+ footer = _ref.footer;
12
13
  var _getMenuButtonBoundin = getMenuButtonBoundingClientRect(),
13
14
  top = _getMenuButtonBoundin.top,
14
15
  height = _getMenuButtonBoundin.height,
15
16
  left = _getMenuButtonBoundin.left;
17
+ var _getWindowInfo = getWindowInfo(),
18
+ safeArea = _getWindowInfo.safeArea;
19
+ var _ref2 = safeArea,
20
+ safeAreaHeight = _ref2.height,
21
+ bottom = _ref2.bottom;
16
22
  return /*#__PURE__*/React.createElement(View, {
17
23
  className: "p-page-container ".concat(className),
18
24
  style: !fixedHeader ? {
@@ -45,6 +51,11 @@ var PageContainer = function PageContainer(_ref) {
45
51
  enhanced: true,
46
52
  showScrollbar: false,
47
53
  className: "p-page-content"
48
- }, children));
54
+ }, children), footer && /*#__PURE__*/React.createElement(View, {
55
+ className: "p-page-footer",
56
+ style: {
57
+ paddingBottom: "".concat(bottom - safeAreaHeight > 24 ? bottom - safeAreaHeight : 24, "rpx")
58
+ }
59
+ }, footer));
49
60
  };
50
61
  export default PageContainer;
@@ -38,4 +38,12 @@
38
38
  height: 0;
39
39
  flex: 1;
40
40
  }
41
+
42
+ .p-page-footer {
43
+ padding: 24px 32px;
44
+ background: #fff;
45
+ box-sizing: border-box;
46
+ display: flex;
47
+ align-items: center;
48
+ }
41
49
  }
@@ -89,8 +89,6 @@ declare namespace ProFormAPI {
89
89
  }
90
90
 
91
91
  type ProFormItemProps = {
92
- /* flex占比 */
93
- flex?: number;
94
92
  /* 对齐方式 */
95
93
  layout?: "horizontal" | "vertical";
96
94
  /* 表单Key */
@@ -136,7 +134,7 @@ declare namespace ProFormAPI {
136
134
  /* 请求选项 */
137
135
  request?: (params?: { [key: string]: any }) => Promise<{ [key: string]: any }[]>;
138
136
  /* 选项字段名 */
139
- fieldNames?: { label: string, value: string };
137
+ fieldNames?: { label: string, value: string, children?: string };
140
138
  /* 选项是否平铺 */
141
139
  optionType?: boolean;
142
140
  /* 项目ID */
@@ -1,10 +1,10 @@
1
- import { FC, ReactNode, ReactElement } from "react";
1
+ import { FC, ReactNode } from "react";
2
2
  import "./index.less";
3
3
  type TabItemProps = {
4
4
  label: string;
5
5
  icon?: string;
6
6
  key: string;
7
- children?: ReactElement;
7
+ children?: ReactNode;
8
8
  init?: boolean;
9
9
  };
10
10
  type TabsProps = {
@@ -14,7 +14,7 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
14
14
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
15
15
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
16
16
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
17
- import React, { useCallback, useEffect, useState, cloneElement } from "react";
17
+ import React, { useCallback, useEffect, useState, cloneElement, isValidElement } from "react";
18
18
  import { ScrollView, Swiper, SwiperItem, Text, View } from "@tarojs/components";
19
19
  import { createSelectorQuery } from "@tarojs/taro";
20
20
  import "./index.less";
@@ -54,7 +54,7 @@ var Tabs = function Tabs(_ref) {
54
54
  height = _useState10[0],
55
55
  setHeight = _useState10[1];
56
56
  useEffect(function () {
57
- if (items.length) {
57
+ if (items.length !== tabsList.length) {
58
58
  setSelectKey(activeKey || items[0].key);
59
59
  setTabsList(items.map(function (item, index) {
60
60
  return _objectSpread(_objectSpread({}, item), {}, {
@@ -66,7 +66,7 @@ var Tabs = function Tabs(_ref) {
66
66
  getSwiperHeight();
67
67
  }
68
68
  }
69
- }, []);
69
+ }, [tabsList, items]);
70
70
  useEffect(function () {
71
71
  var _tabsList$find;
72
72
  if (selectKey !== activeKey) onChange === null || onChange === void 0 || onChange(selectKey);
@@ -113,6 +113,23 @@ var Tabs = function Tabs(_ref) {
113
113
  }).exec();
114
114
  }
115
115
  }, [tabsList, selectKey, parentLeft]);
116
+ var renderSwiperTabContent = useCallback(function (tab) {
117
+ var _items$find;
118
+ var children = (_items$find = items.find(function (item) {
119
+ return item.key == tab.key;
120
+ })) === null || _items$find === void 0 ? void 0 : _items$find.children;
121
+ if (tab.init && /*#__PURE__*/isValidElement(children)) return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
122
+ onRefresh: function onRefresh(keys) {
123
+ keys.forEach(function (item) {
124
+ var tab = tabsList.find(function (tab) {
125
+ return tab.key === item;
126
+ });
127
+ if (tab !== null && tab !== void 0 && tab.init) tab.init = false;
128
+ });
129
+ setTabsList(_toConsumableArray(tabsList));
130
+ }
131
+ }));
132
+ }, [items]);
116
133
  return /*#__PURE__*/React.createElement(View, {
117
134
  className: "p-tabs-container ".concat(className, " ").concat(isCardList ? 'p-tabs-card-list-container' : '', " ").concat(centered ? 'p-tabs-centered-container' : '')
118
135
  }, /*#__PURE__*/React.createElement(View, {
@@ -168,17 +185,7 @@ var Tabs = function Tabs(_ref) {
168
185
  }, /*#__PURE__*/React.createElement(View, {
169
186
  id: "swiper-tab-content",
170
187
  className: "swiper-tab-content-view"
171
- }, item.init && item.children && /*#__PURE__*/cloneElement(item.children, _objectSpread(_objectSpread({}, item.children.props), {}, {
172
- onRefresh: function onRefresh(keys) {
173
- keys.forEach(function (item) {
174
- var tab = tabsList.find(function (tab) {
175
- return tab.key === item;
176
- });
177
- if (tab !== null && tab !== void 0 && tab.init) tab.init = false;
178
- });
179
- setTabsList(_toConsumableArray(tabsList));
180
- }
181
- }))));
188
+ }, renderSwiperTabContent(item)));
182
189
  })) : (_tabsList$find2 = tabsList.find(function (item) {
183
190
  return item.key === selectKey;
184
191
  })) === null || _tabsList$find2 === void 0 ? void 0 : _tabsList$find2.children));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@power-xa/m-ui",
3
- "version": "0.0.3",
3
+ "version": "0.0.4",
4
4
  "description": "power-mobile系列公共组件库",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",