uview-plus 3.4.93 → 3.4.98
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/changelog.md +17 -0
- package/components/u-action-sheet/actionSheet.js +4 -4
- package/components/u-action-sheet/props.js +8 -0
- package/components/u-action-sheet/u-action-sheet.vue +13 -4
- package/components/u-album/album.js +3 -3
- package/components/u-album/props.js +9 -0
- package/components/u-album/u-album.vue +56 -11
- package/components/u-alert/alert.js +9 -5
- package/components/u-alert/props.js +29 -0
- package/components/u-alert/u-alert.vue +59 -16
- package/components/u-avatar/u-avatar.vue +2 -2
- package/components/u-back-top/u-back-top.vue +2 -2
- package/components/u-button/u-button.vue +5 -5
- package/components/u-car-keyboard/u-car-keyboard.vue +2 -2
- package/components/u-cell/u-cell.vue +4 -4
- package/components/u-checkbox/u-checkbox.vue +1 -1
- package/components/u-collapse-item/u-collapse-item.vue +2 -2
- package/components/u-column-notice/u-column-notice.vue +6 -6
- package/components/u-dropdown/u-dropdown.vue +1 -1
- package/components/u-empty/u-empty.vue +2 -2
- package/components/u-form-item/u-form-item.vue +2 -2
- package/components/u-image/u-image.vue +4 -4
- package/components/u-input/u-input.vue +6 -6
- package/components/u-navbar/u-navbar.vue +4 -4
- package/components/u-no-network/u-no-network.vue +2 -2
- package/components/u-notify/u-notify.vue +2 -2
- package/components/u-number-box/u-number-box.vue +4 -4
- package/components/u-number-keyboard/u-number-keyboard.vue +2 -2
- package/components/u-popup/u-popup.vue +2 -2
- package/components/u-radio/u-radio.vue +1 -1
- package/components/u-rate/u-rate.vue +5 -5
- package/components/u-read-more/u-read-more.vue +2 -2
- package/components/u-row-notice/u-row-notice.vue +6 -6
- package/components/u-search/u-search.vue +4 -4
- package/components/u-select/u-select.vue +1 -1
- package/components/u-steps-item/u-steps-item.vue +4 -4
- package/components/u-swipe-action-item/u-swipe-action-item.vue +2 -2
- package/components/u-tabbar-item/u-tabbar-item.vue +2 -2
- package/components/u-tag/u-tag.vue +4 -4
- package/components/u-text/u-text.vue +4 -4
- package/components/u-toast/u-toast.vue +3 -3
- package/components/u-upload/u-upload.vue +11 -11
- package/package.json +1 -1
- package/components/u--form/u--form.vue +0 -85
- package/components/u--image/u--image.vue +0 -50
- package/components/u--input/u--input.vue +0 -74
- package/components/u--text/u--text.vue +0 -45
- package/components/u--textarea/u--textarea.vue +0 -47
|
@@ -35,12 +35,12 @@
|
|
|
35
35
|
height: addUnit(height)
|
|
36
36
|
}]"
|
|
37
37
|
/>
|
|
38
|
-
<
|
|
38
|
+
<up-icon
|
|
39
39
|
v-else
|
|
40
40
|
color="#80CBF9"
|
|
41
41
|
size="26"
|
|
42
42
|
:name="item.isVideo || (item.type && item.type === 'video') ? 'movie' : 'file-text'"
|
|
43
|
-
></
|
|
43
|
+
></up-icon>
|
|
44
44
|
<view v-if="item.status === 'success'"
|
|
45
45
|
class="u-upload__wrap__play"
|
|
46
46
|
@tap="onClickPreview(item, index)">
|
|
@@ -59,11 +59,11 @@
|
|
|
59
59
|
height: addUnit(height)
|
|
60
60
|
}]"
|
|
61
61
|
>
|
|
62
|
-
<
|
|
62
|
+
<up-icon
|
|
63
63
|
color="#80CBF9"
|
|
64
64
|
size="26"
|
|
65
65
|
:name="item.isVideo || (item.type && item.type === 'video') ? 'movie' : 'folder'"
|
|
66
|
-
></
|
|
66
|
+
></up-icon>
|
|
67
67
|
<text class="u-upload__wrap__preview__other__text">
|
|
68
68
|
{{item.isVideo || (item.type && item.type === 'video') ? item.name || '视频' : item.name || '文件'}}
|
|
69
69
|
</text>
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
v-if="item.status === 'uploading' || item.status === 'failed'"
|
|
74
74
|
>
|
|
75
75
|
<view class="u-upload__status__icon">
|
|
76
|
-
<
|
|
76
|
+
<up-icon
|
|
77
77
|
v-if="item.status === 'failed'"
|
|
78
78
|
name="close-circle"
|
|
79
79
|
color="#ffffff"
|
|
@@ -98,11 +98,11 @@
|
|
|
98
98
|
@tap.stop="deleteItem(index)"
|
|
99
99
|
>
|
|
100
100
|
<view class="u-upload__deletable__icon">
|
|
101
|
-
<
|
|
101
|
+
<up-icon
|
|
102
102
|
name="close"
|
|
103
103
|
color="#ffffff"
|
|
104
104
|
size="10"
|
|
105
|
-
></
|
|
105
|
+
></up-icon>
|
|
106
106
|
</view>
|
|
107
107
|
</view>
|
|
108
108
|
<slot name="success">
|
|
@@ -118,11 +118,11 @@
|
|
|
118
118
|
<!-- #endif -->
|
|
119
119
|
<!-- #ifndef APP-NVUE -->
|
|
120
120
|
<view class="u-upload__success__icon">
|
|
121
|
-
<
|
|
121
|
+
<up-icon
|
|
122
122
|
name="checkmark"
|
|
123
123
|
color="#ffffff"
|
|
124
124
|
size="12"
|
|
125
|
-
></
|
|
125
|
+
></up-icon>
|
|
126
126
|
</view>
|
|
127
127
|
<!-- #endif -->
|
|
128
128
|
</view>
|
|
@@ -156,11 +156,11 @@
|
|
|
156
156
|
height: addUnit(height)
|
|
157
157
|
}]"
|
|
158
158
|
>
|
|
159
|
-
<
|
|
159
|
+
<up-icon
|
|
160
160
|
:name="uploadIcon"
|
|
161
161
|
size="26"
|
|
162
162
|
:color="uploadIconColor"
|
|
163
|
-
></
|
|
163
|
+
></up-icon>
|
|
164
164
|
<text
|
|
165
165
|
v-if="uploadText"
|
|
166
166
|
class="u-upload__button__text"
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"id": "uview-plus",
|
|
3
3
|
"name": "uview-plus",
|
|
4
4
|
"displayName": "零云®uview-plus3.0重磅发布,全面的Vue3鸿蒙跨端移动组件库,组件丰富维护更新稳定。",
|
|
5
|
-
"version": "3.4.
|
|
5
|
+
"version": "3.4.98",
|
|
6
6
|
"description": "零云®uview-plus已兼容vue3,100+全面的组件和便捷的工具会让您信手拈来。近期新增拖动排序、条码、图片裁剪、下拉刷新、虚拟列表、签名等。",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"uview",
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<uvForm
|
|
3
|
-
ref="uForm"
|
|
4
|
-
:model="model"
|
|
5
|
-
:rules="rules"
|
|
6
|
-
:errorType="errorType"
|
|
7
|
-
:borderBottom="borderBottom"
|
|
8
|
-
:labelPosition="labelPosition"
|
|
9
|
-
:labelWidth="labelWidth"
|
|
10
|
-
:labelAlign="labelAlign"
|
|
11
|
-
:labelStyle="labelStyle"
|
|
12
|
-
:customStyle="customStyle"
|
|
13
|
-
>
|
|
14
|
-
<slot />
|
|
15
|
-
</uvForm>
|
|
16
|
-
</template>
|
|
17
|
-
|
|
18
|
-
<script>
|
|
19
|
-
/**
|
|
20
|
-
* 此组件存在的理由是,在nvue下,u-form被uni-app官方占用了,u-form在nvue中相当于form组件
|
|
21
|
-
* 所以在nvue下,取名为u--form,内部其实还是u-form.vue,只不过做一层中转
|
|
22
|
-
*/
|
|
23
|
-
import uvForm from '../u-form/u-form.vue';
|
|
24
|
-
import { props } from '../u-form/props.js';
|
|
25
|
-
import { mpMixin } from '../../libs/mixin/mpMixin';
|
|
26
|
-
import { mixin } from '../../libs/mixin/mixin';
|
|
27
|
-
export default {
|
|
28
|
-
// #ifdef MP-WEIXIN
|
|
29
|
-
name: 'u-form',
|
|
30
|
-
// #endif
|
|
31
|
-
// #ifndef MP-WEIXIN
|
|
32
|
-
name: 'u--form',
|
|
33
|
-
// #endif
|
|
34
|
-
mixins: [mpMixin, props, mixin],
|
|
35
|
-
components: {
|
|
36
|
-
uvForm
|
|
37
|
-
},
|
|
38
|
-
created() {
|
|
39
|
-
this.children = []
|
|
40
|
-
},
|
|
41
|
-
methods: {
|
|
42
|
-
// 手动设置校验的规则,如果规则中有函数的话,微信小程序中会过滤掉,所以只能手动调用设置规则
|
|
43
|
-
setRules(rules) {
|
|
44
|
-
this.$refs.uForm.setRules(rules)
|
|
45
|
-
},
|
|
46
|
-
/**
|
|
47
|
-
* 校验全部数据
|
|
48
|
-
* @param {Object} options
|
|
49
|
-
* @param {Boolean} options.showErrorMsg -是否显示校验信息,
|
|
50
|
-
*/
|
|
51
|
-
validate(options) {
|
|
52
|
-
/**
|
|
53
|
-
* 在微信小程序中,通过this.$parent拿到的父组件是u--form,而不是其内嵌的u-form
|
|
54
|
-
* 导致在u-form组件中,拿不到对应的children数组,从而校验无效,所以这里每次调用u-form组件中的
|
|
55
|
-
* 对应方法的时候,在小程序中都先将u--form的children赋值给u-form中的children
|
|
56
|
-
*/
|
|
57
|
-
// #ifdef MP-WEIXIN
|
|
58
|
-
this.setMpData()
|
|
59
|
-
// #endif
|
|
60
|
-
return this.$refs.uForm.validate(options)
|
|
61
|
-
},
|
|
62
|
-
validateField(value, callback) {
|
|
63
|
-
// #ifdef MP-WEIXIN
|
|
64
|
-
this.setMpData()
|
|
65
|
-
// #endif
|
|
66
|
-
return this.$refs.uForm.validateField(value, callback)
|
|
67
|
-
},
|
|
68
|
-
resetFields() {
|
|
69
|
-
// #ifdef MP-WEIXIN
|
|
70
|
-
this.setMpData()
|
|
71
|
-
// #endif
|
|
72
|
-
return this.$refs.uForm.resetFields()
|
|
73
|
-
},
|
|
74
|
-
clearValidate(props) {
|
|
75
|
-
// #ifdef MP-WEIXIN
|
|
76
|
-
this.setMpData()
|
|
77
|
-
// #endif
|
|
78
|
-
return this.$refs.uForm.clearValidate(props)
|
|
79
|
-
},
|
|
80
|
-
setMpData() {
|
|
81
|
-
this.$refs.uForm.children = this.children
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
}
|
|
85
|
-
</script>
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<uvImage
|
|
3
|
-
:src="src"
|
|
4
|
-
:mode="mode"
|
|
5
|
-
:width="width"
|
|
6
|
-
:height="height"
|
|
7
|
-
:shape="shape"
|
|
8
|
-
:radius="radius"
|
|
9
|
-
:lazyLoad="lazyLoad"
|
|
10
|
-
:showMenuByLongpress="showMenuByLongpress"
|
|
11
|
-
:loadingIcon="loadingIcon"
|
|
12
|
-
:errorIcon="errorIcon"
|
|
13
|
-
:showLoading="showLoading"
|
|
14
|
-
:showError="showError"
|
|
15
|
-
:fade="fade"
|
|
16
|
-
:webp="webp"
|
|
17
|
-
:duration="duration"
|
|
18
|
-
:bgColor="bgColor"
|
|
19
|
-
:customStyle="customStyle"
|
|
20
|
-
@click="$emit('click')"
|
|
21
|
-
@error="$emit('error')"
|
|
22
|
-
@load="$emit('load')"
|
|
23
|
-
>
|
|
24
|
-
<template v-slot:loading>
|
|
25
|
-
<slot name="loading"></slot>
|
|
26
|
-
</template>
|
|
27
|
-
<template v-slot:error>
|
|
28
|
-
<slot name="error"></slot>
|
|
29
|
-
</template>
|
|
30
|
-
</uvImage>
|
|
31
|
-
</template>
|
|
32
|
-
|
|
33
|
-
<script>
|
|
34
|
-
/**
|
|
35
|
-
* 此组件存在的理由是,在nvue下,u-image被uni-app官方占用了,u-image在nvue中相当于image组件
|
|
36
|
-
* 所以在nvue下,取名为u--image,内部其实还是u-iamge.vue,只不过做一层中转
|
|
37
|
-
*/
|
|
38
|
-
import uvImage from '../u-image/u-image.vue';
|
|
39
|
-
import { props } from '../u-image/props.js';
|
|
40
|
-
import { mpMixin } from '../../libs/mixin/mpMixin';
|
|
41
|
-
import { mixin } from '../../libs/mixin/mixin';
|
|
42
|
-
export default {
|
|
43
|
-
name: 'u--image',
|
|
44
|
-
mixins: [mpMixin, props, mixin],
|
|
45
|
-
components: {
|
|
46
|
-
uvImage
|
|
47
|
-
},
|
|
48
|
-
emits: ['click', 'error', 'load']
|
|
49
|
-
}
|
|
50
|
-
</script>
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<uvInput
|
|
3
|
-
<!-- #ifdef VUE2 -->
|
|
4
|
-
:value="value"
|
|
5
|
-
@input="e => $emit('input', e)"
|
|
6
|
-
<!-- #endif -->
|
|
7
|
-
<!-- #ifdef VUE3 -->
|
|
8
|
-
:modelValue="modelValue"
|
|
9
|
-
@update:modelValue="e => $emit('update:modelValue', e)"
|
|
10
|
-
<!-- #endif -->
|
|
11
|
-
:type="type"
|
|
12
|
-
:fixed="fixed"
|
|
13
|
-
:disabled="disabled"
|
|
14
|
-
:disabledColor="disabledColor"
|
|
15
|
-
:clearable="clearable"
|
|
16
|
-
:password="password"
|
|
17
|
-
:maxlength="maxlength"
|
|
18
|
-
:placeholder="placeholder"
|
|
19
|
-
:placeholderClass="placeholderClass"
|
|
20
|
-
:placeholderStyle="placeholderStyle"
|
|
21
|
-
:showWordLimit="showWordLimit"
|
|
22
|
-
:confirmType="confirmType"
|
|
23
|
-
:confirmHold="confirmHold"
|
|
24
|
-
:holdKeyboard="holdKeyboard"
|
|
25
|
-
:focus="focus"
|
|
26
|
-
:autoBlur="autoBlur"
|
|
27
|
-
:disableDefaultPadding="disableDefaultPadding"
|
|
28
|
-
:cursor="cursor"
|
|
29
|
-
:cursorSpacing="cursorSpacing"
|
|
30
|
-
:selectionStart="selectionStart"
|
|
31
|
-
:selectionEnd="selectionEnd"
|
|
32
|
-
:adjustPosition="adjustPosition"
|
|
33
|
-
:inputAlign="inputAlign"
|
|
34
|
-
:fontSize="fontSize"
|
|
35
|
-
:color="color"
|
|
36
|
-
:prefixIcon="prefixIcon"
|
|
37
|
-
:suffixIcon="suffixIcon"
|
|
38
|
-
:suffixIconStyle="suffixIconStyle"
|
|
39
|
-
:prefixIconStyle="prefixIconStyle"
|
|
40
|
-
:border="border"
|
|
41
|
-
:readonly="readonly"
|
|
42
|
-
:shape="shape"
|
|
43
|
-
:customStyle="customStyle"
|
|
44
|
-
:formatter="formatter"
|
|
45
|
-
:ignoreCompositionEvent="ignoreCompositionEvent"
|
|
46
|
-
>
|
|
47
|
-
<!-- #ifdef MP -->
|
|
48
|
-
<slot name="prefix"></slot>
|
|
49
|
-
<slot name="suffix"></slot>
|
|
50
|
-
<!-- #endif -->
|
|
51
|
-
<!-- #ifndef MP -->
|
|
52
|
-
<slot name="prefix" slot="prefix"></slot>
|
|
53
|
-
<slot name="suffix" slot="suffix"></slot>
|
|
54
|
-
<!-- #endif -->
|
|
55
|
-
</uvInput>
|
|
56
|
-
</template>
|
|
57
|
-
|
|
58
|
-
<script>
|
|
59
|
-
/**
|
|
60
|
-
* 此组件存在的理由是,在nvue下,u-input被uni-app官方占用了,u-input在nvue中相当于input组件
|
|
61
|
-
* 所以在nvue下,取名为u--input,内部其实还是u-input.vue,只不过做一层中转
|
|
62
|
-
*/
|
|
63
|
-
import uvInput from '../u-input/u-input.vue';
|
|
64
|
-
import { props } from '../u-input/props.js';
|
|
65
|
-
import { mpMixin } from '../../libs/mixin/mpMixin';
|
|
66
|
-
import { mixin } from '../../libs/mixin/mixin';
|
|
67
|
-
export default {
|
|
68
|
-
name: 'u--input',
|
|
69
|
-
mixins: [mpMixin, props, mixin],
|
|
70
|
-
components: {
|
|
71
|
-
uvInput
|
|
72
|
-
},
|
|
73
|
-
}
|
|
74
|
-
</script>
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<uvText
|
|
3
|
-
:type="type"
|
|
4
|
-
:show="show"
|
|
5
|
-
:text="text"
|
|
6
|
-
:prefixIcon="prefixIcon"
|
|
7
|
-
:suffixIcon="suffixIcon"
|
|
8
|
-
:mode="mode"
|
|
9
|
-
:href="href"
|
|
10
|
-
:format="format"
|
|
11
|
-
:call="call"
|
|
12
|
-
:openType="openType"
|
|
13
|
-
:bold="bold"
|
|
14
|
-
:block="block"
|
|
15
|
-
:lines="lines"
|
|
16
|
-
:color="color"
|
|
17
|
-
:decoration="decoration"
|
|
18
|
-
:size="size"
|
|
19
|
-
:iconStyle="iconStyle"
|
|
20
|
-
:margin="margin"
|
|
21
|
-
:lineHeight="lineHeight"
|
|
22
|
-
:align="align"
|
|
23
|
-
:wordWrap="wordWrap"
|
|
24
|
-
:customStyle="customStyle"
|
|
25
|
-
></uvText>
|
|
26
|
-
</template>
|
|
27
|
-
|
|
28
|
-
<script>
|
|
29
|
-
/**
|
|
30
|
-
* 此组件存在的理由是,在nvue下,u-text被uni-app官方占用了,u-text在nvue中相当于input组件
|
|
31
|
-
* 所以在nvue下,取名为u--input,内部其实还是u-text.vue,只不过做一层中转
|
|
32
|
-
* 不使用v-bind="$attrs",而是分开独立写传参,是因为微信小程序不支持此写法
|
|
33
|
-
*/
|
|
34
|
-
import uvText from "../u-text/u-text.vue";
|
|
35
|
-
import { props } from "../u-text/props.js";
|
|
36
|
-
import { mpMixin } from '../../libs/mixin/mpMixin.js'
|
|
37
|
-
import { mixin } from '../../libs/mixin/mixin.js'
|
|
38
|
-
export default {
|
|
39
|
-
name: "u--text",
|
|
40
|
-
mixins: [mpMixin, mixin, props,],
|
|
41
|
-
components: {
|
|
42
|
-
uvText,
|
|
43
|
-
},
|
|
44
|
-
};
|
|
45
|
-
</script>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<uvTextarea
|
|
3
|
-
:value="value"
|
|
4
|
-
:modelValue="modelValue"
|
|
5
|
-
:placeholder="placeholder"
|
|
6
|
-
:height="height"
|
|
7
|
-
:confirmType="confirmType"
|
|
8
|
-
:disabled="disabled"
|
|
9
|
-
:count="count"
|
|
10
|
-
:focus="focus"
|
|
11
|
-
:autoHeight="autoHeight"
|
|
12
|
-
:fixed="fixed"
|
|
13
|
-
:cursorSpacing="cursorSpacing"
|
|
14
|
-
:cursor="cursor"
|
|
15
|
-
:showConfirmBar="showConfirmBar"
|
|
16
|
-
:selectionStart="selectionStart"
|
|
17
|
-
:selectionEnd="selectionEnd"
|
|
18
|
-
:adjustPosition="adjustPosition"
|
|
19
|
-
:disableDefaultPadding="disableDefaultPadding"
|
|
20
|
-
:holdKeyboard="holdKeyboard"
|
|
21
|
-
:maxlength="maxlength"
|
|
22
|
-
:border="border"
|
|
23
|
-
:customStyle="customStyle"
|
|
24
|
-
:formatter="formatter"
|
|
25
|
-
:ignoreCompositionEvent="ignoreCompositionEvent"
|
|
26
|
-
@input="e => $emit('input', e)"
|
|
27
|
-
@update:modelValue="e => $emit('update:modelValue', e)"
|
|
28
|
-
></uvTextarea>
|
|
29
|
-
</template>
|
|
30
|
-
|
|
31
|
-
<script>
|
|
32
|
-
/**
|
|
33
|
-
* 此组件存在的理由是,在nvue下,u--textarea被uni-app官方占用了,u-textarea在nvue中相当于textarea组件
|
|
34
|
-
* 所以在nvue下,取名为u--textarea,内部其实还是u-textarea.vue,只不过做一层中转
|
|
35
|
-
*/
|
|
36
|
-
import uvTextarea from '../u-textarea/u-textarea.vue';
|
|
37
|
-
import { props } from '../u-textarea/props.js';
|
|
38
|
-
import { mpMixin } from '../../libs/mixin/mpMixin';
|
|
39
|
-
import { mixin } from '../../libs/mixin/mixin';
|
|
40
|
-
export default {
|
|
41
|
-
name: 'u--textarea',
|
|
42
|
-
mixins: [mpMixin, props, mixin],
|
|
43
|
-
components: {
|
|
44
|
-
uvTextarea
|
|
45
|
-
},
|
|
46
|
-
}
|
|
47
|
-
</script>
|