easy3wui 1.5.89-beta9 → 1.5.90
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/LICENSE.md +3 -3
- package/README.md +27 -27
- package/lib/Easy3wFormPage/indexPC.js +16 -9
- package/lib/Easy3wTagSelect/index.less +120 -120
- package/lib/Easy3wTree/index.js +16 -16
- package/package.json +122 -122
- package/CHANGELOG.md +0 -189
- package/HISTORY.md +0 -8
package/LICENSE.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
Copyright (c) 上海同在互联网科技有限公司 版权所有
|
|
3
|
-
|
|
1
|
+
|
|
2
|
+
Copyright (c) 上海同在互联网科技有限公司 版权所有
|
|
3
|
+
|
|
4
4
|
上海同在互联网科技有限公司 版权所有,使用必须获得授权,否则将追究法律责任。
|
package/README.md
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
# easy3wUI
|
|
2
|
-
easy3w UI 组件
|
|
3
|
-
# 编译
|
|
4
|
-
npm run compile
|
|
5
|
-
# 发布代码
|
|
6
|
-
npm publish
|
|
7
|
-
npm publish --tag V1
|
|
8
|
-
# 测试版发布
|
|
9
|
-
npm publish --tag beta
|
|
10
|
-
|
|
11
|
-
react-data-grid使用6.0.1版本对应的react@16
|
|
12
|
-
7版本未形成稳定版本,暂时使用6.0.1版本;对应的react@18+版本
|
|
13
|
-
https://www.npmjs.com/
|
|
14
|
-
登录npm
|
|
15
|
-
在终端输入npm login ,在登录前一定要将npm源设置为官方源
|
|
16
|
-
// 官方镜像源
|
|
17
|
-
npm config set registry https://registry.npmjs.org/
|
|
18
|
-
// 淘宝镜像源
|
|
19
|
-
npm config set registry http://registry.npm.taobao.org/
|
|
20
|
-
检查当前npm源:
|
|
21
|
-
npm config get registry
|
|
22
|
-
|
|
23
|
-
# 生成令牌操作步骤:
|
|
24
|
-
* 登录 npm 官网,进入令牌管理页面(https://www.npmjs.com/settings/(您的用户名)/tokens)。
|
|
25
|
-
* 删除旧令牌:点击令牌右侧的“Delete”(删除)按钮。
|
|
26
|
-
* 创建新令牌:点击“Generate New Token”(生成新令牌),输入名称并勾选“Bypass two-factor authentication”(绕过 2FA)。
|
|
27
|
-
* 立即复制新令牌:创建后立即点击复制按钮,避免离开页面。
|
|
1
|
+
# easy3wUI
|
|
2
|
+
easy3w UI 组件
|
|
3
|
+
# 编译
|
|
4
|
+
npm run compile
|
|
5
|
+
# 发布代码
|
|
6
|
+
npm publish
|
|
7
|
+
npm publish --tag V1
|
|
8
|
+
# 测试版发布
|
|
9
|
+
npm publish --tag beta
|
|
10
|
+
|
|
11
|
+
react-data-grid使用6.0.1版本对应的react@16
|
|
12
|
+
7版本未形成稳定版本,暂时使用6.0.1版本;对应的react@18+版本
|
|
13
|
+
https://www.npmjs.com/
|
|
14
|
+
登录npm
|
|
15
|
+
在终端输入npm login ,在登录前一定要将npm源设置为官方源
|
|
16
|
+
// 官方镜像源
|
|
17
|
+
npm config set registry https://registry.npmjs.org/
|
|
18
|
+
// 淘宝镜像源
|
|
19
|
+
npm config set registry http://registry.npm.taobao.org/
|
|
20
|
+
检查当前npm源:
|
|
21
|
+
npm config get registry
|
|
22
|
+
|
|
23
|
+
# 生成令牌操作步骤:
|
|
24
|
+
* 登录 npm 官网,进入令牌管理页面(https://www.npmjs.com/settings/(您的用户名)/tokens)。
|
|
25
|
+
* 删除旧令牌:点击令牌右侧的“Delete”(删除)按钮。
|
|
26
|
+
* 创建新令牌:点击“Generate New Token”(生成新令牌),输入名称并勾选“Bypass two-factor authentication”(绕过 2FA)。
|
|
27
|
+
* 立即复制新令牌:创建后立即点击复制按钮,避免离开页面。
|
|
28
28
|
* 配置令牌到 .npmrc 文件,在项目根目录下
|
|
@@ -683,7 +683,7 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
683
683
|
var strValue = value;
|
|
684
684
|
value = _comonConfig.dataDesensitizationFlag ? dataDesensitizationEyeFlag ? value : (0, _easy3wui.Easy3wGetDesensitization)(value) : value;
|
|
685
685
|
if (fieldType === 'mobile' && value) {
|
|
686
|
-
var e3wMobileNation = _this.fetchMobileInfo(strValue, fieldId);
|
|
686
|
+
var e3wMobileNation = _this.fetchMobileInfo(strValue, fieldId) || '+86';
|
|
687
687
|
value = e3wMobileNation ? e3wMobileNation + ' ' + value : value;
|
|
688
688
|
// console.log('valuevaluevaluevalue', value, e3wMobileNation);
|
|
689
689
|
}
|
|
@@ -1390,15 +1390,20 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
1390
1390
|
}, _this.getColItem = function (colObj, formItemLayout, disableCheckFlag) {
|
|
1391
1391
|
var allReadFlag = _this.props.allReadFlag;
|
|
1392
1392
|
var fieldType = colObj.fieldType,
|
|
1393
|
-
readFlag = colObj.readFlag,
|
|
1394
1393
|
disableFlag = colObj.disableFlag,
|
|
1395
1394
|
cmptPros = colObj.cmptPros;
|
|
1395
|
+
var readFlag = colObj.readFlag;
|
|
1396
1396
|
|
|
1397
1397
|
var _ref6 = cmptPros || {},
|
|
1398
1398
|
disabled = _ref6.disabled,
|
|
1399
1399
|
templateArray = _ref6.templateArray,
|
|
1400
1400
|
isRead = _ref6.isRead;
|
|
1401
1401
|
|
|
1402
|
+
var isApprovalFlag = document.body.innerHTML.includes('data-e3wpagetype="approval"');
|
|
1403
|
+
if (isApprovalFlag && disableFlag && (fieldType === 'input' || fieldType === 'textarea' || fieldType === 'checkBox' || fieldType === 'radio')) {
|
|
1404
|
+
colObj.readFlag = true;
|
|
1405
|
+
readFlag = true;
|
|
1406
|
+
}
|
|
1402
1407
|
var itemArea = _this.getItemArea(colObj);
|
|
1403
1408
|
var itemValue = _this.getItemValue(colObj);
|
|
1404
1409
|
var afterBtns = _this.getAfterBtn(colObj);
|
|
@@ -1652,7 +1657,8 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
1652
1657
|
required = item.required,
|
|
1653
1658
|
_item$cmptPros4 = item.cmptPros,
|
|
1654
1659
|
cmptPros = _item$cmptPros4 === undefined ? {} : _item$cmptPros4,
|
|
1655
|
-
value = item.value
|
|
1660
|
+
value = item.value,
|
|
1661
|
+
readFlag = item.readFlag;
|
|
1656
1662
|
var disabled = cmptPros.disabled;
|
|
1657
1663
|
|
|
1658
1664
|
var addonBeforeCmptPros = item.addonBeforeCmptPros || {};
|
|
@@ -1666,18 +1672,18 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
1666
1672
|
disabled: disabled
|
|
1667
1673
|
}, addonBeforeCmptPros)
|
|
1668
1674
|
});
|
|
1669
|
-
var strMobileAssociation = '
|
|
1675
|
+
var strMobileAssociation = '';
|
|
1670
1676
|
if (value) {
|
|
1671
|
-
strMobileAssociation = _this.fetchMobileInfo(value, fieldId);
|
|
1677
|
+
strMobileAssociation = _this.fetchMobileInfo(value, fieldId) || '+86';
|
|
1672
1678
|
// value = e3wMobileNation ? `${e3wMobileNation} ${value}` : value;
|
|
1673
1679
|
// console.log('valuevaluevaluevalue', value, e3wMobileNation);
|
|
1674
1680
|
}
|
|
1675
1681
|
var decoratorObj = {
|
|
1676
1682
|
rules: [{ required: required, message: '请选择区号' }],
|
|
1677
|
-
initialValue: strMobileAssociation
|
|
1683
|
+
initialValue: readFlag ? 'easy3wView' : strMobileAssociation
|
|
1678
1684
|
};
|
|
1679
1685
|
return _react2['default'].createElement(_input2['default'], (0, _extends3['default'])({
|
|
1680
|
-
addonBefore: _this.props.form.getFieldDecorator(fieldId + 'AddonBefore', (0, _extends3['default'])({}, decoratorObj))(itemArea),
|
|
1686
|
+
addonBefore: _this.props.form.getFieldDecorator(readFlag ? fieldId + 'AddonBeforeEasy3wView' : fieldId + 'AddonBefore', (0, _extends3['default'])({}, decoratorObj))(itemArea),
|
|
1681
1687
|
onBlur: function onBlur(e) {
|
|
1682
1688
|
return _this.onBlurMobile(e, fieldId);
|
|
1683
1689
|
}
|
|
@@ -1708,6 +1714,7 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
1708
1714
|
xhr.send(data); // 发送请求
|
|
1709
1715
|
}
|
|
1710
1716
|
}, _this.fetchMobileInfo = function (value, fieldId) {
|
|
1717
|
+
var e3wMobileNation = void 0;
|
|
1711
1718
|
if (_comonConfig.easy3w4fMobileLibFetchUrl) {
|
|
1712
1719
|
// 同步请求,直接返回查询到的 e3wMobileNation(而非 Promise)
|
|
1713
1720
|
var cacheKey = fieldId + '-' + value;
|
|
@@ -1715,7 +1722,6 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
1715
1722
|
// 已查询过,直接返回缓存结果
|
|
1716
1723
|
return _this[cacheKey];
|
|
1717
1724
|
}
|
|
1718
|
-
var e3wMobileNation = void 0;
|
|
1719
1725
|
var xhr = new XMLHttpRequest();
|
|
1720
1726
|
xhr.open('POST', _comonConfig.easy3w4fMobileLibFetchUrl, false); // 同步请求
|
|
1721
1727
|
xhr.setRequestHeader('Content-Type', 'application/json'); // 设置请求头
|
|
@@ -1739,8 +1745,9 @@ var Easy3wFormPagePC = exports.Easy3wFormPagePC = function (_Component) {
|
|
|
1739
1745
|
// 缓存结果,避免重复请求
|
|
1740
1746
|
_this[cacheKey] = e3wMobileNation;
|
|
1741
1747
|
// 直接返回数据
|
|
1742
|
-
return e3wMobileNation;
|
|
1743
1748
|
}
|
|
1749
|
+
e3wMobileNation = e3wMobileNation || '+86';
|
|
1750
|
+
return e3wMobileNation;
|
|
1744
1751
|
}, _this.selectHandler = function (item) {
|
|
1745
1752
|
var cmptPros = item.cmptPros;
|
|
1746
1753
|
var optionLst = cmptPros.optionLst;
|
|
@@ -1,120 +1,120 @@
|
|
|
1
|
-
@import '~antd/lib/style/themes/default.less';
|
|
2
|
-
|
|
3
|
-
.tagSelect {
|
|
4
|
-
user-select: none;
|
|
5
|
-
margin-left: -8px;
|
|
6
|
-
position: relative;
|
|
7
|
-
overflow: hidden;
|
|
8
|
-
max-height: 32px;
|
|
9
|
-
// line-height: 32px;
|
|
10
|
-
transition: all 0.3s;
|
|
11
|
-
:global {
|
|
12
|
-
.ant-tag {
|
|
13
|
-
padding: 0 8px;
|
|
14
|
-
margin-right: 24px;
|
|
15
|
-
font-size: @font-size-base;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
&.expanded {
|
|
19
|
-
transition: all 0.3s;
|
|
20
|
-
max-height: 800px;
|
|
21
|
-
}
|
|
22
|
-
.trigger {
|
|
23
|
-
position: absolute;
|
|
24
|
-
top: 0;
|
|
25
|
-
right: 0;
|
|
26
|
-
i {
|
|
27
|
-
font-size: 12px;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
&.hasExpandTag {
|
|
31
|
-
padding-right: 50px;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.standardFormRow {
|
|
36
|
-
border-bottom: 1px dashed @border-color-split;
|
|
37
|
-
// padding-bottom: 8px;
|
|
38
|
-
// margin-bottom: 8px;
|
|
39
|
-
display: flex;
|
|
40
|
-
:global {
|
|
41
|
-
.ant-form-item {
|
|
42
|
-
margin-right: 24px;
|
|
43
|
-
}
|
|
44
|
-
.ant-form-item-label label {
|
|
45
|
-
color: @text-color;
|
|
46
|
-
margin-right: 0;
|
|
47
|
-
}
|
|
48
|
-
.ant-form-item-label,
|
|
49
|
-
.ant-form-item-control {
|
|
50
|
-
padding: 0;
|
|
51
|
-
line-height: 32px;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
.label {
|
|
55
|
-
// color: @heading-color;
|
|
56
|
-
// color: rgb(173,124,89);
|
|
57
|
-
font-size: @font-size-base;
|
|
58
|
-
padding-right: 12px;
|
|
59
|
-
margin-right: 12px;
|
|
60
|
-
// margin-right: 24px;
|
|
61
|
-
background:#F8F8FF;
|
|
62
|
-
// background: rgb(84, 104, 178);
|
|
63
|
-
// opacity: 0.5;
|
|
64
|
-
flex: 0 0 auto;
|
|
65
|
-
text-align: right;
|
|
66
|
-
& > span {
|
|
67
|
-
display: inline-block;
|
|
68
|
-
height: 32px;
|
|
69
|
-
line-height: 32px;
|
|
70
|
-
&:after {
|
|
71
|
-
content: '|';
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
// border-radius: 2px;
|
|
75
|
-
& > a {
|
|
76
|
-
color: @heading-color;
|
|
77
|
-
// color: rgb(255, 255, 255);
|
|
78
|
-
display: inline-block;
|
|
79
|
-
height: 32px;
|
|
80
|
-
line-height: 32px;
|
|
81
|
-
// width: 100%;
|
|
82
|
-
cursor: pointer;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
.content {
|
|
86
|
-
flex: 1 1 0;
|
|
87
|
-
:global {
|
|
88
|
-
.ant-form-item:last-child {
|
|
89
|
-
margin-right: 0;
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.standardFormRowLast {
|
|
96
|
-
border: none;
|
|
97
|
-
padding-bottom: 0;
|
|
98
|
-
margin-bottom: 0;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
.standardFormRowBlock {
|
|
102
|
-
:global {
|
|
103
|
-
.ant-form-item,
|
|
104
|
-
div.ant-form-item-control-wrapper {
|
|
105
|
-
display: block;
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
.standardFormRowGrid {
|
|
111
|
-
:global {
|
|
112
|
-
.ant-form-item,
|
|
113
|
-
div.ant-form-item-control-wrapper {
|
|
114
|
-
display: block;
|
|
115
|
-
}
|
|
116
|
-
.ant-form-item-label {
|
|
117
|
-
float: left;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
1
|
+
@import '~antd/lib/style/themes/default.less';
|
|
2
|
+
|
|
3
|
+
.tagSelect {
|
|
4
|
+
user-select: none;
|
|
5
|
+
margin-left: -8px;
|
|
6
|
+
position: relative;
|
|
7
|
+
overflow: hidden;
|
|
8
|
+
max-height: 32px;
|
|
9
|
+
// line-height: 32px;
|
|
10
|
+
transition: all 0.3s;
|
|
11
|
+
:global {
|
|
12
|
+
.ant-tag {
|
|
13
|
+
padding: 0 8px;
|
|
14
|
+
margin-right: 24px;
|
|
15
|
+
font-size: @font-size-base;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
&.expanded {
|
|
19
|
+
transition: all 0.3s;
|
|
20
|
+
max-height: 800px;
|
|
21
|
+
}
|
|
22
|
+
.trigger {
|
|
23
|
+
position: absolute;
|
|
24
|
+
top: 0;
|
|
25
|
+
right: 0;
|
|
26
|
+
i {
|
|
27
|
+
font-size: 12px;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
&.hasExpandTag {
|
|
31
|
+
padding-right: 50px;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.standardFormRow {
|
|
36
|
+
border-bottom: 1px dashed @border-color-split;
|
|
37
|
+
// padding-bottom: 8px;
|
|
38
|
+
// margin-bottom: 8px;
|
|
39
|
+
display: flex;
|
|
40
|
+
:global {
|
|
41
|
+
.ant-form-item {
|
|
42
|
+
margin-right: 24px;
|
|
43
|
+
}
|
|
44
|
+
.ant-form-item-label label {
|
|
45
|
+
color: @text-color;
|
|
46
|
+
margin-right: 0;
|
|
47
|
+
}
|
|
48
|
+
.ant-form-item-label,
|
|
49
|
+
.ant-form-item-control {
|
|
50
|
+
padding: 0;
|
|
51
|
+
line-height: 32px;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
.label {
|
|
55
|
+
// color: @heading-color;
|
|
56
|
+
// color: rgb(173,124,89);
|
|
57
|
+
font-size: @font-size-base;
|
|
58
|
+
padding-right: 12px;
|
|
59
|
+
margin-right: 12px;
|
|
60
|
+
// margin-right: 24px;
|
|
61
|
+
background:#F8F8FF;
|
|
62
|
+
// background: rgb(84, 104, 178);
|
|
63
|
+
// opacity: 0.5;
|
|
64
|
+
flex: 0 0 auto;
|
|
65
|
+
text-align: right;
|
|
66
|
+
& > span {
|
|
67
|
+
display: inline-block;
|
|
68
|
+
height: 32px;
|
|
69
|
+
line-height: 32px;
|
|
70
|
+
&:after {
|
|
71
|
+
content: '|';
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
// border-radius: 2px;
|
|
75
|
+
& > a {
|
|
76
|
+
color: @heading-color;
|
|
77
|
+
// color: rgb(255, 255, 255);
|
|
78
|
+
display: inline-block;
|
|
79
|
+
height: 32px;
|
|
80
|
+
line-height: 32px;
|
|
81
|
+
// width: 100%;
|
|
82
|
+
cursor: pointer;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
.content {
|
|
86
|
+
flex: 1 1 0;
|
|
87
|
+
:global {
|
|
88
|
+
.ant-form-item:last-child {
|
|
89
|
+
margin-right: 0;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.standardFormRowLast {
|
|
96
|
+
border: none;
|
|
97
|
+
padding-bottom: 0;
|
|
98
|
+
margin-bottom: 0;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.standardFormRowBlock {
|
|
102
|
+
:global {
|
|
103
|
+
.ant-form-item,
|
|
104
|
+
div.ant-form-item-control-wrapper {
|
|
105
|
+
display: block;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.standardFormRowGrid {
|
|
111
|
+
:global {
|
|
112
|
+
.ant-form-item,
|
|
113
|
+
div.ant-form-item-control-wrapper {
|
|
114
|
+
display: block;
|
|
115
|
+
}
|
|
116
|
+
.ant-form-item-label {
|
|
117
|
+
float: left;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
package/lib/Easy3wTree/index.js
CHANGED
|
@@ -47,22 +47,22 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'd
|
|
|
47
47
|
var Search = _input2['default'].Search;
|
|
48
48
|
var TreeNode = _tree2['default'].TreeNode;
|
|
49
49
|
|
|
50
|
-
/**
|
|
51
|
-
* props参数
|
|
52
|
-
* arrData: 树数据源 必须 Array
|
|
53
|
-
* objTreeProps: 树配置参数 非必须 Object
|
|
54
|
-
* 另加属性:touchRenderNode, titleField = 'title', countField = 'count', keyField = 'key'
|
|
55
|
-
* touchRenderNode: 自定义渲染节点 非必须 Function 返回值:{ title, count, key, isLeaf, expanded, selected, loading }
|
|
56
|
-
* titleField: 节点标题字段 非必须 String 默认值:'title'
|
|
57
|
-
* countField: 节点计数字段 非必须 String 默认值:'count'
|
|
58
|
-
* keyField: 节点key字段 非必须 String 默认值:'key'
|
|
59
|
-
* objSearchProps: 搜索配置参数 非必须 Object
|
|
60
|
-
* 另加属性:searchFlag = true, onSearchCallback
|
|
61
|
-
* searchFlag: 是否开启搜索功能 非必须 Boolean 默认值:true
|
|
62
|
-
* onSearchCallback: 搜索回调函数 非必须 Function 返回值:(arrDataVisible, searchValue, expandedKeys)
|
|
63
|
-
* bidPureComponent: 绑定组件方法 非必须 Function
|
|
64
|
-
* intUpdateCount: 数据更新次数 必须 Number
|
|
65
|
-
* selectedKeys: 选中节点key 非必须 Array
|
|
50
|
+
/**
|
|
51
|
+
* props参数
|
|
52
|
+
* arrData: 树数据源 必须 Array
|
|
53
|
+
* objTreeProps: 树配置参数 非必须 Object
|
|
54
|
+
* 另加属性:touchRenderNode, titleField = 'title', countField = 'count', keyField = 'key'
|
|
55
|
+
* touchRenderNode: 自定义渲染节点 非必须 Function 返回值:{ title, count, key, isLeaf, expanded, selected, loading }
|
|
56
|
+
* titleField: 节点标题字段 非必须 String 默认值:'title'
|
|
57
|
+
* countField: 节点计数字段 非必须 String 默认值:'count'
|
|
58
|
+
* keyField: 节点key字段 非必须 String 默认值:'key'
|
|
59
|
+
* objSearchProps: 搜索配置参数 非必须 Object
|
|
60
|
+
* 另加属性:searchFlag = true, onSearchCallback
|
|
61
|
+
* searchFlag: 是否开启搜索功能 非必须 Boolean 默认值:true
|
|
62
|
+
* onSearchCallback: 搜索回调函数 非必须 Function 返回值:(arrDataVisible, searchValue, expandedKeys)
|
|
63
|
+
* bidPureComponent: 绑定组件方法 非必须 Function
|
|
64
|
+
* intUpdateCount: 数据更新次数 必须 Number
|
|
65
|
+
* selectedKeys: 选中节点key 非必须 Array
|
|
66
66
|
*/
|
|
67
67
|
|
|
68
68
|
var Easy3wTree = function (_Component) {
|
package/package.json
CHANGED
|
@@ -1,122 +1,122 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "easy3wui",
|
|
3
|
-
"version": "1.5.
|
|
4
|
-
"description": "easy3wui components for react",
|
|
5
|
-
"keywords": [
|
|
6
|
-
"react",
|
|
7
|
-
"easy3wui"
|
|
8
|
-
],
|
|
9
|
-
"homepage": "https://github.com/alsmill/easy3wUI",
|
|
10
|
-
"maintainers": [
|
|
11
|
-
"chenc@easy3w.com",
|
|
12
|
-
"zhanggl@easy3w.com"
|
|
13
|
-
],
|
|
14
|
-
"repository": {
|
|
15
|
-
"type": "git",
|
|
16
|
-
"url": "git@github.com:alsmill/easy3wUI.git"
|
|
17
|
-
},
|
|
18
|
-
"bugs": {
|
|
19
|
-
"url": "https://github.com/alsmill/easy3wUI/issues"
|
|
20
|
-
},
|
|
21
|
-
"files": [
|
|
22
|
-
"lib",
|
|
23
|
-
"assets/*.css"
|
|
24
|
-
],
|
|
25
|
-
"overrides": {
|
|
26
|
-
"graceful-fs": "^4.2.11"
|
|
27
|
-
},
|
|
28
|
-
"main": "lib/index",
|
|
29
|
-
"license": "上海同在互联网科技有限公司 版权所有",
|
|
30
|
-
"config": {
|
|
31
|
-
"port": 8006,
|
|
32
|
-
"entry": {
|
|
33
|
-
"easy3wui": [
|
|
34
|
-
"./assets/index.less",
|
|
35
|
-
"./src/index.js"
|
|
36
|
-
]
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
"scripts": {
|
|
40
|
-
"build": "rc-tools run build",
|
|
41
|
-
"compile": "rc-tools run compile --babel-runtime",
|
|
42
|
-
"gh-pages": "rc-tools run gh-pages",
|
|
43
|
-
"start": "rc-tools --max_old_space_size=4096 run server",
|
|
44
|
-
"pub": "rc-tools run pub",
|
|
45
|
-
"lint": "rc-tools run lint",
|
|
46
|
-
"karma": "rc-test run karma",
|
|
47
|
-
"saucelabs": "rc-test run saucelabs",
|
|
48
|
-
"test": "rc-test run test",
|
|
49
|
-
"chrome-test": "rc-test run chrome-test",
|
|
50
|
-
"coverage": "rc-test run coverage"
|
|
51
|
-
},
|
|
52
|
-
"devDependencies": {
|
|
53
|
-
"axios": "^0.17.1",
|
|
54
|
-
"babel-eslint": "^8.0.1",
|
|
55
|
-
"babel-jest": "^21.0.0",
|
|
56
|
-
"babel-plugin-dva-hmr": "^0.3.2",
|
|
57
|
-
"babel-plugin-import": "^1.2.1",
|
|
58
|
-
"babel-plugin-transform-class-properties": "^6.24.1",
|
|
59
|
-
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
|
60
|
-
"babel-plugin-transform-runtime": "^6.9.0",
|
|
61
|
-
"babel-preset-env": "^1.6.1",
|
|
62
|
-
"babel-preset-react": "^6.24.1",
|
|
63
|
-
"babel-runtime": "^6.26.0",
|
|
64
|
-
"cross-env": "^5.1.1",
|
|
65
|
-
"cross-port-killer": "^1.0.1",
|
|
66
|
-
"dva": "^2.1.0",
|
|
67
|
-
"enzyme": "^3.1.0",
|
|
68
|
-
"enzyme-adapter-react-16": "^1.0.2",
|
|
69
|
-
"eslint": "^4.8.0",
|
|
70
|
-
"eslint-config-airbnb": "^16.0.0",
|
|
71
|
-
"eslint-plugin-babel": "^4.0.0",
|
|
72
|
-
"eslint-plugin-compat": "^2.1.0",
|
|
73
|
-
"eslint-plugin-import": "^2.2.0",
|
|
74
|
-
"eslint-plugin-jsx-a11y": "^6.0.0",
|
|
75
|
-
"eslint-plugin-markdown": "^1.0.0-beta.6",
|
|
76
|
-
"eslint-plugin-react": "^7.0.1",
|
|
77
|
-
"gh-pages": "^1.0.0",
|
|
78
|
-
"husky": "^0.14.3",
|
|
79
|
-
"jest": "^21.0.1",
|
|
80
|
-
"lint-staged": "^4.3.0",
|
|
81
|
-
"mockjs": "^1.0.1-beta3",
|
|
82
|
-
"numeral": "^2.0.6",
|
|
83
|
-
"crypto-js": "4.0.0",
|
|
84
|
-
"pre-commit": "1.x",
|
|
85
|
-
"prettier": "^1.9.0",
|
|
86
|
-
"pro-download": "^1.0.0",
|
|
87
|
-
"prop-types": "^15.5.8",
|
|
88
|
-
"rc-test": "^6.0.8",
|
|
89
|
-
"rc-tools": "^7.0.2",
|
|
90
|
-
"rc-trigger": "^2.2.2",
|
|
91
|
-
"react": "16.8.6",
|
|
92
|
-
"react-container-query": "^0.11.0",
|
|
93
|
-
"react-document-title": "^2.0.3",
|
|
94
|
-
"react-dom": "16.8.6",
|
|
95
|
-
"react-test-renderer": "^16.0.0",
|
|
96
|
-
"redbox-react": "^1.3.2",
|
|
97
|
-
"roadhog": "^2.5.0-beta.4",
|
|
98
|
-
"roadhog-api-doc": "^1.0.3",
|
|
99
|
-
"rollbar": "^2.3.1",
|
|
100
|
-
"stylelint": "^8.1.0",
|
|
101
|
-
"stylelint-config-standard": "^17.0.0"
|
|
102
|
-
},
|
|
103
|
-
"pre-commit": [
|
|
104
|
-
"lint"
|
|
105
|
-
],
|
|
106
|
-
"dependencies": {
|
|
107
|
-
"@hanyk/rc-viewer": "^0.0.3",
|
|
108
|
-
"antd": "3.24.2",
|
|
109
|
-
"braft-editor": "^2.3.8",
|
|
110
|
-
"braft-extensions": "^0.1.1",
|
|
111
|
-
"lodash": "4.17.11",
|
|
112
|
-
"react-images": "^1.0.0",
|
|
113
|
-
"react-number-format": "^4.3.1",
|
|
114
|
-
"react-number-input": "^15.5.1",
|
|
115
|
-
"react-pdf": "^4.0.5",
|
|
116
|
-
"react-zmage": "^0.8.5",
|
|
117
|
-
"spark-md5": "^3.0.0",
|
|
118
|
-
"superagent": "^3.8.3",
|
|
119
|
-
"react-data-grid": "6.0.1",
|
|
120
|
-
"react-data-grid-addons": "6.0.1"
|
|
121
|
-
}
|
|
122
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "easy3wui",
|
|
3
|
+
"version": "1.5.90",
|
|
4
|
+
"description": "easy3wui components for react",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"react",
|
|
7
|
+
"easy3wui"
|
|
8
|
+
],
|
|
9
|
+
"homepage": "https://github.com/alsmill/easy3wUI",
|
|
10
|
+
"maintainers": [
|
|
11
|
+
"chenc@easy3w.com",
|
|
12
|
+
"zhanggl@easy3w.com"
|
|
13
|
+
],
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "git@github.com:alsmill/easy3wUI.git"
|
|
17
|
+
},
|
|
18
|
+
"bugs": {
|
|
19
|
+
"url": "https://github.com/alsmill/easy3wUI/issues"
|
|
20
|
+
},
|
|
21
|
+
"files": [
|
|
22
|
+
"lib",
|
|
23
|
+
"assets/*.css"
|
|
24
|
+
],
|
|
25
|
+
"overrides": {
|
|
26
|
+
"graceful-fs": "^4.2.11"
|
|
27
|
+
},
|
|
28
|
+
"main": "lib/index",
|
|
29
|
+
"license": "上海同在互联网科技有限公司 版权所有",
|
|
30
|
+
"config": {
|
|
31
|
+
"port": 8006,
|
|
32
|
+
"entry": {
|
|
33
|
+
"easy3wui": [
|
|
34
|
+
"./assets/index.less",
|
|
35
|
+
"./src/index.js"
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"scripts": {
|
|
40
|
+
"build": "rc-tools run build",
|
|
41
|
+
"compile": "rc-tools run compile --babel-runtime",
|
|
42
|
+
"gh-pages": "rc-tools run gh-pages",
|
|
43
|
+
"start": "rc-tools --max_old_space_size=4096 run server",
|
|
44
|
+
"pub": "rc-tools run pub",
|
|
45
|
+
"lint": "rc-tools run lint",
|
|
46
|
+
"karma": "rc-test run karma",
|
|
47
|
+
"saucelabs": "rc-test run saucelabs",
|
|
48
|
+
"test": "rc-test run test",
|
|
49
|
+
"chrome-test": "rc-test run chrome-test",
|
|
50
|
+
"coverage": "rc-test run coverage"
|
|
51
|
+
},
|
|
52
|
+
"devDependencies": {
|
|
53
|
+
"axios": "^0.17.1",
|
|
54
|
+
"babel-eslint": "^8.0.1",
|
|
55
|
+
"babel-jest": "^21.0.0",
|
|
56
|
+
"babel-plugin-dva-hmr": "^0.3.2",
|
|
57
|
+
"babel-plugin-import": "^1.2.1",
|
|
58
|
+
"babel-plugin-transform-class-properties": "^6.24.1",
|
|
59
|
+
"babel-plugin-transform-decorators-legacy": "^1.3.4",
|
|
60
|
+
"babel-plugin-transform-runtime": "^6.9.0",
|
|
61
|
+
"babel-preset-env": "^1.6.1",
|
|
62
|
+
"babel-preset-react": "^6.24.1",
|
|
63
|
+
"babel-runtime": "^6.26.0",
|
|
64
|
+
"cross-env": "^5.1.1",
|
|
65
|
+
"cross-port-killer": "^1.0.1",
|
|
66
|
+
"dva": "^2.1.0",
|
|
67
|
+
"enzyme": "^3.1.0",
|
|
68
|
+
"enzyme-adapter-react-16": "^1.0.2",
|
|
69
|
+
"eslint": "^4.8.0",
|
|
70
|
+
"eslint-config-airbnb": "^16.0.0",
|
|
71
|
+
"eslint-plugin-babel": "^4.0.0",
|
|
72
|
+
"eslint-plugin-compat": "^2.1.0",
|
|
73
|
+
"eslint-plugin-import": "^2.2.0",
|
|
74
|
+
"eslint-plugin-jsx-a11y": "^6.0.0",
|
|
75
|
+
"eslint-plugin-markdown": "^1.0.0-beta.6",
|
|
76
|
+
"eslint-plugin-react": "^7.0.1",
|
|
77
|
+
"gh-pages": "^1.0.0",
|
|
78
|
+
"husky": "^0.14.3",
|
|
79
|
+
"jest": "^21.0.1",
|
|
80
|
+
"lint-staged": "^4.3.0",
|
|
81
|
+
"mockjs": "^1.0.1-beta3",
|
|
82
|
+
"numeral": "^2.0.6",
|
|
83
|
+
"crypto-js": "4.0.0",
|
|
84
|
+
"pre-commit": "1.x",
|
|
85
|
+
"prettier": "^1.9.0",
|
|
86
|
+
"pro-download": "^1.0.0",
|
|
87
|
+
"prop-types": "^15.5.8",
|
|
88
|
+
"rc-test": "^6.0.8",
|
|
89
|
+
"rc-tools": "^7.0.2",
|
|
90
|
+
"rc-trigger": "^2.2.2",
|
|
91
|
+
"react": "16.8.6",
|
|
92
|
+
"react-container-query": "^0.11.0",
|
|
93
|
+
"react-document-title": "^2.0.3",
|
|
94
|
+
"react-dom": "16.8.6",
|
|
95
|
+
"react-test-renderer": "^16.0.0",
|
|
96
|
+
"redbox-react": "^1.3.2",
|
|
97
|
+
"roadhog": "^2.5.0-beta.4",
|
|
98
|
+
"roadhog-api-doc": "^1.0.3",
|
|
99
|
+
"rollbar": "^2.3.1",
|
|
100
|
+
"stylelint": "^8.1.0",
|
|
101
|
+
"stylelint-config-standard": "^17.0.0"
|
|
102
|
+
},
|
|
103
|
+
"pre-commit": [
|
|
104
|
+
"lint"
|
|
105
|
+
],
|
|
106
|
+
"dependencies": {
|
|
107
|
+
"@hanyk/rc-viewer": "^0.0.3",
|
|
108
|
+
"antd": "3.24.2",
|
|
109
|
+
"braft-editor": "^2.3.8",
|
|
110
|
+
"braft-extensions": "^0.1.1",
|
|
111
|
+
"lodash": "4.17.11",
|
|
112
|
+
"react-images": "^1.0.0",
|
|
113
|
+
"react-number-format": "^4.3.1",
|
|
114
|
+
"react-number-input": "^15.5.1",
|
|
115
|
+
"react-pdf": "^4.0.5",
|
|
116
|
+
"react-zmage": "^0.8.5",
|
|
117
|
+
"spark-md5": "^3.0.0",
|
|
118
|
+
"superagent": "^3.8.3",
|
|
119
|
+
"react-data-grid": "6.0.1",
|
|
120
|
+
"react-data-grid-addons": "6.0.1"
|
|
121
|
+
}
|
|
122
|
+
}
|
package/CHANGELOG.md
DELETED
|
@@ -1,189 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
order: 6
|
|
3
|
-
title: 更新日志
|
|
4
|
-
toc: false
|
|
5
|
-
timeline: true
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
#### 版本号说明
|
|
10
|
-
* 次版本号:带有新特性的向下兼容的版本。
|
|
11
|
-
* 主版本号:含有破坏性更新和新特性。
|
|
12
|
-
## 1.1.105
|
|
13
|
-
`2018-12-20`
|
|
14
|
-
|
|
15
|
-
- Easy3wFormPage
|
|
16
|
-
- 🌟 增加必填校验自定义文案属性:requiredMessage
|
|
17
|
-
- 🌟 TextArea增加autosize属性
|
|
18
|
-
- Easy3wQryGrid
|
|
19
|
-
- 点重置后查询
|
|
20
|
-
---
|
|
21
|
-
## 1.1.101
|
|
22
|
-
`2018-12-12`
|
|
23
|
-
|
|
24
|
-
- Easy3wFormPage
|
|
25
|
-
- 🌟 树选择默认提示改为:请输入关键字或点击三角箭头展开后选择
|
|
26
|
-
---Easy3wFormPage
|
|
27
|
-
---
|
|
28
|
-
## 1.1.100
|
|
29
|
-
`2018-11-29`
|
|
30
|
-
|
|
31
|
-
- Easy3wGridInputNumber
|
|
32
|
-
- 🌟 设置默认宽度
|
|
33
|
-
---
|
|
34
|
-
## 1.1.92
|
|
35
|
-
`2018-11-21`
|
|
36
|
-
|
|
37
|
-
- Easy3wUpload
|
|
38
|
-
- 🌟 超过限制大小不显示选择的附件
|
|
39
|
-
- Easy3wUploadM
|
|
40
|
-
- 🌟 超过限制大小不显示选择的附件
|
|
41
|
-
- Easy3wGridPage
|
|
42
|
-
- 🌟 Tooltip文本换行
|
|
43
|
-
---
|
|
44
|
-
## 1.1.90
|
|
45
|
-
`2018-10-30`
|
|
46
|
-
|
|
47
|
-
- Easy3wUserLayout
|
|
48
|
-
- 🔥 动态粒子背景
|
|
49
|
-
- Easy3wUploadB
|
|
50
|
-
- 🌟 大附件上传成功后进度条消失
|
|
51
|
-
---
|
|
52
|
-
## 1.1.83
|
|
53
|
-
`2018-10-25`
|
|
54
|
-
|
|
55
|
-
- Easy3wModel
|
|
56
|
-
- 🔥 底部按钮居中
|
|
57
|
-
- Easy3wFlow
|
|
58
|
-
- 🌟 非必须的步骤边框虚化
|
|
59
|
-
---
|
|
60
|
-
|
|
61
|
-
## 1.1.77
|
|
62
|
-
`2018-10-17`
|
|
63
|
-
|
|
64
|
-
- Easy3wGridPage
|
|
65
|
-
- 🔥 固定列重复显示问题解决
|
|
66
|
-
- Easy3wUpload
|
|
67
|
-
- 🌟 大附件初始值bug修复
|
|
68
|
-
- 🌟大附件增加上传成功回调方法:uploadDoneCallback(uploadName, fileInfo, newList);
|
|
69
|
-
- Easy3wFlow
|
|
70
|
-
- 🌟 流程向导url加密
|
|
71
|
-
- Easy3wCaHandler
|
|
72
|
-
- 🌟 增加获取供方名称接口:getSupplierName
|
|
73
|
-
- Easy3wCaptcha
|
|
74
|
-
- 🌟 验证码字体大小固定
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
## 1.1.61
|
|
78
|
-
`2018-10-09`
|
|
79
|
-
|
|
80
|
-
- Easy3wUpload
|
|
81
|
-
- 🔥 附件大小为0不得上传
|
|
82
|
-
- Easy3wModal
|
|
83
|
-
- 🌟 增加默认到顶部的距离为20px
|
|
84
|
-
- Easy3wGridDateTimePicker
|
|
85
|
-
- 🔥 默认选中时间为9点
|
|
86
|
-
- Easy3wFormPage
|
|
87
|
-
- 🔥 增加getValueFromEvent属性
|
|
88
|
-
- 🔥 时间组件修改,默认选中时间为9点
|
|
89
|
-
---
|
|
90
|
-
## 1.1.52
|
|
91
|
-
`2018-09-27`
|
|
92
|
-
|
|
93
|
-
- Easy3wModal
|
|
94
|
-
- 增加destroyOnClose属性。
|
|
95
|
-
- Easy3wFlow
|
|
96
|
-
- 增加不重新获取流程数据参数。
|
|
97
|
-
- 去除流程向导的loading。
|
|
98
|
-
- Easy3wCaHandler
|
|
99
|
-
- 🔥增加CA服务组件。
|
|
100
|
-
- Easy3wCaHandler
|
|
101
|
-
- 🔥增加CA服务组件。
|
|
102
|
-
- Easy3wGetCookie
|
|
103
|
-
- 🔥增加获取cookie组件。
|
|
104
|
-
- Easy3wUploadB
|
|
105
|
-
- 🔥增加大附件上传组件。
|
|
106
|
-
## 1.1.35
|
|
107
|
-
`2018-09-17`
|
|
108
|
-
|
|
109
|
-
- Easy3wGridPage
|
|
110
|
-
- 🌟 如果列表需要固定表头则在Easy3wGridPage中添加属性:scroll={{ y: num, x: num }}并给添加类名:ClassName="scrollY",
|
|
111
|
-
列表横向滚动不需要自行添加滚动属性,整体列表为自适应宽度,如有表头fixed固定,表头不需要添加width属性
|
|
112
|
-
- Easy3wButton
|
|
113
|
-
- 🔥 增加dropdownArr属性,可设置下拉按钮组。
|
|
114
|
-
---
|
|
115
|
-
## 1.1.29
|
|
116
|
-
`2018-09-13`
|
|
117
|
-
|
|
118
|
-
- Easy3wFormPage
|
|
119
|
-
- 🌟 改为紧凑型表单。
|
|
120
|
-
- 🌟 增加rowAftBtnFlag属性。
|
|
121
|
-
- Easy3wGridPage
|
|
122
|
-
- 🌟 选中后返回的参数增加两个属性:selected:选中或取消选中,changeRows:改变的行。
|
|
123
|
-
------
|
|
124
|
-
## 1.1.19
|
|
125
|
-
`2018-09-12`
|
|
126
|
-
|
|
127
|
-
- 修复登录样式问题
|
|
128
|
-
- 去除console.log
|
|
129
|
-
---
|
|
130
|
-
## 1.1.15
|
|
131
|
-
`2018-09-08`
|
|
132
|
-
|
|
133
|
-
- Easy3wButton
|
|
134
|
-
- 🔥 增加btnType属性,可设置按钮类别,当btnType未设置时为主按钮,当btnType: secondary时为次按钮。
|
|
135
|
-
- Easy3wGridInputNumber
|
|
136
|
-
- 🐞 修复输入校验的bug。
|
|
137
|
-
- Easy3wGridPage
|
|
138
|
-
- 🐞 修复选择后返回数据错误的bug。
|
|
139
|
-
- 🌟 优化选择的方法。
|
|
140
|
-
---
|
|
141
|
-
## 1.1.6
|
|
142
|
-
`2018-08-27`
|
|
143
|
-
-
|
|
144
|
-
- Easy3wUploadM
|
|
145
|
-
- 🐞 修复默认附件不能下载的bug。
|
|
146
|
-
- 🌟 增加按钮前的扩展属性:extend,用于扩展上传按钮前的功能。
|
|
147
|
-
- 🌟 增加按钮后的扩展属性:extendBack,用于扩展上传按钮后的功能。
|
|
148
|
-
- 🌟 增加上传成功的回调 uploadDoneCallback(uploadName, fileList, file)。
|
|
149
|
-
- 🌟 增加删除的回调removeCallback(uploadName, file)。
|
|
150
|
-
-
|
|
151
|
-
---
|
|
152
|
-
|
|
153
|
-
## 1.1.2
|
|
154
|
-
`2018-08-21`
|
|
155
|
-
-
|
|
156
|
-
- Easy3wButtonOne
|
|
157
|
-
- 🔥 增加单个按钮组件,可配合form组件中的upload,生成类似【生成】【上传】的操作按钮组。
|
|
158
|
-
- Easy3wUpload
|
|
159
|
-
- 🌟 增加按钮前的扩展属性:extend,用于扩展上传按钮前的功能。
|
|
160
|
-
- 🌟 增加按钮后的扩展属性:extendBack,用于扩展上传按钮后的功能。
|
|
161
|
-
- Easy3wQryGrid
|
|
162
|
-
- 🌟 增加隐藏域属性:hiddenItems。
|
|
163
|
-
---
|
|
164
|
-
|
|
165
|
-
## 1.1.1
|
|
166
|
-
`2018-08-16`
|
|
167
|
-
- Easy3wGridPage
|
|
168
|
-
- 🌟 增加复选框默认不可修改功能:getCheckboxProps。
|
|
169
|
-
---
|
|
170
|
-
|
|
171
|
-
## 1.0.95
|
|
172
|
-
`2018-08-13`
|
|
173
|
-
- Easy3wUpload
|
|
174
|
-
- 🌟 增加上传成功后的回调方法:uploadDoneCallback,增加点击删除后的回调方法:removeCallback。
|
|
175
|
-
- 🌟 当为isRead时,去除删除图标。
|
|
176
|
-
---
|
|
177
|
-
|
|
178
|
-
## 1.0.94
|
|
179
|
-
`2018-08-12`
|
|
180
|
-
- Easy3wFormPage
|
|
181
|
-
- 🌟 treeSelect 去除labelInValue默认属性,可由cmptPros自行设置。
|
|
182
|
-
|
|
183
|
-
- Easy3wQryGrid
|
|
184
|
-
- 🌟 treeSelect 去除labelInValue默认属性,可由cmptPros自行设置。
|
|
185
|
-
- 可输入组件
|
|
186
|
-
- 增加Easy3wGridInput、Easy3wGridInputNumber、Easy3wGridTextArea、Easy3wGridSelect、Easy3wGridDatePicker、Easy3wGridDateTimePicker、Easy3wGridRadio、Easy3wGridCheckBox组件,以实现在表格中编辑的功能。
|
|
187
|
-
|
|
188
|
-
- Easy3wDownLoad
|
|
189
|
-
- 🔥 增加下载组件。
|