feffery_antd_components 0.1.2 → 0.1.5

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.
@@ -2,6 +2,8 @@ import React, { Component } from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import TextLoop from 'react-text-loop'
4
4
  import { Alert } from 'antd';
5
+ import { omit } from "ramda";
6
+ import { renderDashComponents } from "dash-extensions-js";
5
7
  import Marquee from 'react-fast-marquee';
6
8
  import 'antd/dist/antd.css';
7
9
 
@@ -13,8 +15,6 @@ export default class AntdAlert extends Component {
13
15
  id,
14
16
  className,
15
17
  style,
16
- description,
17
- message,
18
18
  type,
19
19
  showIcon,
20
20
  closable,
@@ -23,18 +23,25 @@ export default class AntdAlert extends Component {
23
23
  loading_state
24
24
  } = this.props;
25
25
 
26
- if (messageRenderMode === 'loop-text' && Array.isArray(message)) {
26
+ // 解析非children参数传入的其他组件数组
27
+ let nProps = omit(
28
+ ["setProps", "children", "loading_state", "className"],
29
+ this.props
30
+ );
31
+ nProps = renderDashComponents(nProps, ["message", "description"]);
32
+
33
+ if (messageRenderMode === 'loop-text' && Array.isArray(nProps.message)) {
27
34
  return (
28
35
  <Alert id={id}
29
36
  className={className}
30
37
  style={style}
31
38
  message={
32
39
  <TextLoop mask>
33
- {message.map(item => <div>{item}</div>)}
40
+ {nProps.message.map(item => <div>{item}</div>)}
34
41
  </TextLoop>
35
42
  }
36
43
  type={type}
37
- description={description}
44
+ description={nProps.description}
38
45
  showIcon={showIcon}
39
46
  closable={closable}
40
47
  data-dash-is-loading={
@@ -51,12 +58,12 @@ export default class AntdAlert extends Component {
51
58
  message={
52
59
  messageRenderMode === 'marquee' ?
53
60
  <Marquee pauseOnHover gradient={false}>
54
- {message}
61
+ {nProps.message}
55
62
  </Marquee> :
56
- message
63
+ nProps.message
57
64
  }
58
65
  type={type}
59
- description={description}
66
+ description={nProps.description}
60
67
  showIcon={showIcon}
61
68
  closable={closable}>
62
69
  </Alert>
@@ -66,6 +73,7 @@ export default class AntdAlert extends Component {
66
73
 
67
74
  // 定义参数或属性
68
75
  AntdAlert.propTypes = {
76
+
69
77
  // 组件id
70
78
  id: PropTypes.string,
71
79
 
@@ -76,12 +84,12 @@ AntdAlert.propTypes = {
76
84
  style: PropTypes.object,
77
85
 
78
86
  // 设置警告组件内的额外信息元素
79
- description: PropTypes.string,
87
+ description: PropTypes.any,
80
88
 
81
89
  // 设置显示的文字信息
82
90
  message: PropTypes.oneOfType([
83
- PropTypes.string,
84
- PropTypes.arrayOf(PropTypes.string)
91
+ PropTypes.any,
92
+ PropTypes.arrayOf(PropTypes.any)
85
93
  ]),
86
94
 
87
95
  // 设置提示类型,可选的有'success'、'info'、'warning'和'error'四种