@vtj/materials 0.9.30 → 0.10.1-alpha.0
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/assets/antdv/index.umd.js +2 -2
- package/dist/assets/charts/index.umd.js +2 -2
- package/dist/assets/element/index.umd.js +2 -2
- package/dist/assets/ui/index.umd.js +2 -2
- package/dist/assets/uni-h5/index.umd.js +7 -0
- package/dist/assets/vant/index.umd.js +5 -5
- package/dist/deps/@vtj/charts/index.umd.js +2 -2
- package/dist/deps/@vtj/icons/index.umd.js +2 -2
- package/dist/deps/@vtj/icons/style.css +1 -1
- package/dist/deps/@vtj/ui/index.umd.js +2 -2
- package/dist/deps/@vtj/uni/index.umd.js +7 -0
- package/dist/deps/@vtj/uni/style.css +1 -0
- package/dist/deps/@vtj/utils/index.umd.js +2 -2
- package/dist/deps/@vueuse/core/index.iife.min.js +1 -1
- package/dist/deps/uni-app/index.umd.js +1 -0
- package/dist/deps/uni-h5/index.umd.js +19 -0
- package/dist/deps/uni-h5/style.css +1 -0
- package/dist/deps/uni-h5-vue/index.umd.js +8 -0
- package/package.json +15 -8
- package/src/uni-app/index.ts +1 -0
- package/src/uni-h5/components/Switch.ts +36 -0
- package/src/uni-h5/components/audio.ts +69 -0
- package/src/uni-h5/components/button.ts +206 -0
- package/src/uni-h5/components/canvas.ts +50 -0
- package/src/uni-h5/components/checkbox.ts +81 -0
- package/src/uni-h5/components/coverImage.ts +18 -0
- package/src/uni-h5/components/coverView.ts +19 -0
- package/src/uni-h5/components/editor.ts +49 -0
- package/src/uni-h5/components/form.ts +53 -0
- package/src/uni-h5/components/icon.ts +44 -0
- package/src/uni-h5/components/image.ts +80 -0
- package/src/uni-h5/components/index.ts +119 -0
- package/src/uni-h5/components/input.ts +220 -0
- package/src/uni-h5/components/label.ts +17 -0
- package/src/uni-h5/components/map.ts +207 -0
- package/src/uni-h5/components/matchMedia.ts +59 -0
- package/src/uni-h5/components/movableArea.ts +31 -0
- package/src/uni-h5/components/movableView.ts +97 -0
- package/src/uni-h5/components/navigator.ts +90 -0
- package/src/uni-h5/components/picker.ts +81 -0
- package/src/uni-h5/components/pickerView.ts +163 -0
- package/src/uni-h5/components/progress.ts +71 -0
- package/src/uni-h5/components/radio.ts +127 -0
- package/src/uni-h5/components/richText.ts +67 -0
- package/src/uni-h5/components/scrollView.ts +157 -0
- package/src/uni-h5/components/slider.ts +75 -0
- package/src/uni-h5/components/swiper.ts +220 -0
- package/src/uni-h5/components/text.ts +38 -0
- package/src/uni-h5/components/textarea.ts +169 -0
- package/src/uni-h5/components/video.ts +276 -0
- package/src/uni-h5/components/view.ts +39 -0
- package/src/uni-h5/components/webView.ts +54 -0
- package/src/uni-h5/index.ts +11 -0
- package/src/uni-h5/style.scss +59 -0
- package/src/uni-h5-vue/index.ts +2 -0
- package/src/version.ts +2 -2
@@ -0,0 +1,97 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription = {
|
4
|
+
name: 'MovableView',
|
5
|
+
label: '可移动的视图容器',
|
6
|
+
categoryId: 'container',
|
7
|
+
parentIncludes: ['MovableArea'],
|
8
|
+
props: [
|
9
|
+
{
|
10
|
+
name: 'direction',
|
11
|
+
title: 'movable-view的移动方向',
|
12
|
+
defaultValue: 'none',
|
13
|
+
setters: 'SelectSetter',
|
14
|
+
options: ['all', 'vertical', 'horizontal', 'none']
|
15
|
+
},
|
16
|
+
{
|
17
|
+
name: 'inertia',
|
18
|
+
title: 'movable-view是否带有惯性',
|
19
|
+
defaultValue: false,
|
20
|
+
setters: 'BooleanSetter'
|
21
|
+
},
|
22
|
+
{
|
23
|
+
name: 'out-of-bounds',
|
24
|
+
title: '超过可移动区域后,movable-view是否还可以移动',
|
25
|
+
defaultValue: false,
|
26
|
+
setters: 'BooleanSetter'
|
27
|
+
},
|
28
|
+
{
|
29
|
+
name: 'x',
|
30
|
+
title: '定义x轴方向的偏移',
|
31
|
+
setters: ['NumberSetter', 'StringSetter']
|
32
|
+
},
|
33
|
+
{
|
34
|
+
name: 'y',
|
35
|
+
title: '定义y轴方向的偏移',
|
36
|
+
setters: ['NumberSetter', 'StringSetter']
|
37
|
+
},
|
38
|
+
{
|
39
|
+
name: 'damping',
|
40
|
+
title: '阻尼系数',
|
41
|
+
defaultValue: 20,
|
42
|
+
setters: 'NumberSetter'
|
43
|
+
},
|
44
|
+
{
|
45
|
+
name: 'friction',
|
46
|
+
title: '摩擦系数',
|
47
|
+
defaultValue: 2,
|
48
|
+
setters: 'NumberSetter'
|
49
|
+
},
|
50
|
+
{
|
51
|
+
name: 'disabled',
|
52
|
+
title: '是否禁用',
|
53
|
+
defaultValue: false,
|
54
|
+
setters: 'BooleanSetter'
|
55
|
+
},
|
56
|
+
{
|
57
|
+
name: 'scale',
|
58
|
+
title: '是否支持双指缩放',
|
59
|
+
defaultValue: false,
|
60
|
+
setters: 'BooleanSetter'
|
61
|
+
},
|
62
|
+
{
|
63
|
+
name: 'scale-min',
|
64
|
+
title: '定义缩放倍数最小值',
|
65
|
+
defaultValue: 0.1 / 0.5,
|
66
|
+
setters: 'NumberSetter'
|
67
|
+
},
|
68
|
+
{
|
69
|
+
name: 'scale-max',
|
70
|
+
title: '定义缩放倍数最大值',
|
71
|
+
defaultValue: 10,
|
72
|
+
setters: 'NumberSetter'
|
73
|
+
},
|
74
|
+
{
|
75
|
+
name: 'scale-value',
|
76
|
+
title: '定义缩放倍数,取值范围为 0.1/0.5 - 10',
|
77
|
+
defaultValue: 1,
|
78
|
+
setters: 'NumberSetter'
|
79
|
+
},
|
80
|
+
{
|
81
|
+
name: 'animation',
|
82
|
+
title: '是否使用动画',
|
83
|
+
defaultValue: true,
|
84
|
+
setters: 'BooleanSetter'
|
85
|
+
}
|
86
|
+
],
|
87
|
+
events: ['change', 'scale'],
|
88
|
+
snippet: {
|
89
|
+
props: {
|
90
|
+
x: 0,
|
91
|
+
y: 0,
|
92
|
+
direction: 'all'
|
93
|
+
}
|
94
|
+
}
|
95
|
+
};
|
96
|
+
|
97
|
+
export default desc;
|
@@ -0,0 +1,90 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription = {
|
4
|
+
name: 'Navigator',
|
5
|
+
label: '页面跳转',
|
6
|
+
categoryId: 'nav',
|
7
|
+
props: [
|
8
|
+
{
|
9
|
+
name: 'url',
|
10
|
+
title: '应用内的跳转链接,值为相对路径或绝对路径',
|
11
|
+
setters: 'StringSetter'
|
12
|
+
},
|
13
|
+
{
|
14
|
+
name: 'open-type',
|
15
|
+
title: '跳转方式',
|
16
|
+
defaultValue: 'navigate',
|
17
|
+
setters: 'SelectSetter',
|
18
|
+
options: [
|
19
|
+
'navigate',
|
20
|
+
'redirect',
|
21
|
+
'switchTab',
|
22
|
+
'reLaunch',
|
23
|
+
'navigateBack',
|
24
|
+
'exit'
|
25
|
+
]
|
26
|
+
},
|
27
|
+
{
|
28
|
+
name: 'delta',
|
29
|
+
title: '当 open-type 为 "navigateBack" 时有效,表示回退的层数',
|
30
|
+
setters: 'NumberSetter'
|
31
|
+
},
|
32
|
+
{
|
33
|
+
name: 'animation-type',
|
34
|
+
title:
|
35
|
+
'当 open-type 为 navigate、navigateBack 时有效,窗口的显示/关闭动画效果',
|
36
|
+
defaultValue: 'pop-in/out',
|
37
|
+
setters: 'StringSetter'
|
38
|
+
},
|
39
|
+
{
|
40
|
+
name: 'animation-duration',
|
41
|
+
title:
|
42
|
+
'当 open-type 为 navigate、navigateBack 时有效,窗口显示/关闭动画的持续时间',
|
43
|
+
defaultValue: 300,
|
44
|
+
setters: 'NumberSetter'
|
45
|
+
},
|
46
|
+
{
|
47
|
+
name: 'render-link',
|
48
|
+
title: '是否给 navigator 组件加一层 a 标签控制 ssr 渲染',
|
49
|
+
defaultValue: true,
|
50
|
+
setters: 'BooleanSetter'
|
51
|
+
},
|
52
|
+
{
|
53
|
+
name: 'hover-class',
|
54
|
+
title: '指定点击时的样式类,当hover-class="none"时,没有点击态效果',
|
55
|
+
defaultValue: 'navigator-hover',
|
56
|
+
setters: 'StringSetter'
|
57
|
+
},
|
58
|
+
{
|
59
|
+
name: 'hover-stop-propagation',
|
60
|
+
title: '指定是否阻止本节点的祖先节点出现点击态',
|
61
|
+
defaultValue: false,
|
62
|
+
setters: 'BooleanSetter'
|
63
|
+
},
|
64
|
+
{
|
65
|
+
name: 'hover-start-time',
|
66
|
+
title: '按住后多久出现点击态,单位毫秒',
|
67
|
+
defaultValue: 50,
|
68
|
+
setters: 'NumberSetter'
|
69
|
+
},
|
70
|
+
{
|
71
|
+
name: 'hover-stay-time',
|
72
|
+
title: '手指松开后点击态保留时间,单位毫秒',
|
73
|
+
defaultValue: 600,
|
74
|
+
setters: 'NumberSetter'
|
75
|
+
},
|
76
|
+
{
|
77
|
+
name: 'target',
|
78
|
+
title: '在哪个小程序目标上发生跳转,默认当前小程序,值域self/miniProgram',
|
79
|
+
defaultValue: 'self',
|
80
|
+
setters: 'StringSetter'
|
81
|
+
}
|
82
|
+
],
|
83
|
+
snippet: {
|
84
|
+
children: [
|
85
|
+
{ name: 'Button', props: { type: 'default' }, children: '跳转到新页面' }
|
86
|
+
]
|
87
|
+
}
|
88
|
+
};
|
89
|
+
|
90
|
+
export default desc;
|
@@ -0,0 +1,81 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription = {
|
4
|
+
name: 'Picker',
|
5
|
+
label: '选择器',
|
6
|
+
categoryId: 'form',
|
7
|
+
props: [
|
8
|
+
{
|
9
|
+
name: 'mode',
|
10
|
+
title: '模式',
|
11
|
+
defaultValue: 'selector',
|
12
|
+
setters: 'SelectSetter',
|
13
|
+
options: ['selector', 'multiSelector', 'time', 'date', 'region']
|
14
|
+
},
|
15
|
+
{
|
16
|
+
name: 'range',
|
17
|
+
title: 'mode为 selector 或 multiSelector 时,range 有效',
|
18
|
+
defaultValue: [],
|
19
|
+
setters: 'ArraySetter'
|
20
|
+
},
|
21
|
+
{
|
22
|
+
name: 'range-key',
|
23
|
+
title:
|
24
|
+
'当 range 是一个 Array<Object> 时,通过 range-key 来指定 Object 中 key 的值作为选择器显示内容',
|
25
|
+
setters: 'StringSetter'
|
26
|
+
},
|
27
|
+
{
|
28
|
+
name: 'value',
|
29
|
+
title: 'value 的值表示选择了 range 中的第几个(下标从 0 开始)',
|
30
|
+
defaultValue: 0,
|
31
|
+
setters: 'NumberSetter'
|
32
|
+
},
|
33
|
+
{
|
34
|
+
name: 'selector-type',
|
35
|
+
title:
|
36
|
+
'UI类型,仅大屏时该属性生效,支持 picker、select、auto,默认在 iPad 以 picker 样式展示而在 PC 以 select 样式展示',
|
37
|
+
defaultValue: 'auto',
|
38
|
+
setters: 'StringSetter'
|
39
|
+
},
|
40
|
+
{
|
41
|
+
name: 'disabled',
|
42
|
+
title: '是否禁用',
|
43
|
+
defaultValue: false,
|
44
|
+
setters: 'BooleanSetter'
|
45
|
+
},
|
46
|
+
{
|
47
|
+
name: 'start',
|
48
|
+
title: '表示有效时间范围的开始,字符串格式为"hh:mm"',
|
49
|
+
setters: 'StringSetter'
|
50
|
+
},
|
51
|
+
{
|
52
|
+
name: 'end',
|
53
|
+
title: '表示有效时间范围的结束,字符串格式为"hh:mm"',
|
54
|
+
setters: 'StringSetter'
|
55
|
+
},
|
56
|
+
{
|
57
|
+
name: 'fields',
|
58
|
+
title:
|
59
|
+
'有效值 year、month、day,表示选择器的粒度,默认为 day,App 端未配置此项时使用系统 UI',
|
60
|
+
defaultValue: 'day',
|
61
|
+
setters: 'SelectSetter',
|
62
|
+
options: ['year', 'month', 'day']
|
63
|
+
},
|
64
|
+
{
|
65
|
+
name: 'custom-item',
|
66
|
+
title: '可为每一列的顶部添加一个自定义的项',
|
67
|
+
setters: 'StringSetter'
|
68
|
+
}
|
69
|
+
],
|
70
|
+
events: ['change', 'cancel', 'columnchange'],
|
71
|
+
snippet: {
|
72
|
+
props: {
|
73
|
+
mode: 'selector',
|
74
|
+
range: ['中国', '美国', '巴西', '日本'],
|
75
|
+
value: 0,
|
76
|
+
children: [{ name: 'View', children: '中国' }]
|
77
|
+
}
|
78
|
+
}
|
79
|
+
};
|
80
|
+
|
81
|
+
export default desc;
|
@@ -0,0 +1,163 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription[] = [
|
4
|
+
{
|
5
|
+
name: 'PickerView',
|
6
|
+
label: '选择器',
|
7
|
+
categoryId: 'form',
|
8
|
+
props: [
|
9
|
+
{
|
10
|
+
name: 'value',
|
11
|
+
title: '选中的项',
|
12
|
+
defaultValue: [],
|
13
|
+
setters: 'ArraySetter'
|
14
|
+
},
|
15
|
+
{
|
16
|
+
name: 'indicator-style',
|
17
|
+
title: '设置选择器中间选中框的样式',
|
18
|
+
setters: 'StringSetter'
|
19
|
+
},
|
20
|
+
{
|
21
|
+
name: 'indicator-class',
|
22
|
+
title: '设置选择器中间选中框的类名',
|
23
|
+
setters: 'StringSetter'
|
24
|
+
},
|
25
|
+
{
|
26
|
+
name: 'mask-style',
|
27
|
+
title: '设置蒙层的样式',
|
28
|
+
setters: 'StringSetter'
|
29
|
+
},
|
30
|
+
{
|
31
|
+
name: 'mask-top-style',
|
32
|
+
title: '设置蒙层上半部分的样式',
|
33
|
+
setters: 'StringSetter'
|
34
|
+
},
|
35
|
+
{
|
36
|
+
name: 'mask-bottom-style',
|
37
|
+
title: '设置蒙层下半部分的样式',
|
38
|
+
setters: 'StringSetter'
|
39
|
+
},
|
40
|
+
{
|
41
|
+
name: 'mask-class',
|
42
|
+
title: '设置蒙层的类名',
|
43
|
+
setters: 'StringSetter'
|
44
|
+
},
|
45
|
+
{
|
46
|
+
name: 'immediate-change',
|
47
|
+
title:
|
48
|
+
'是否在手指松开时立即触发 change 事件。若不开启则会在滚动动画结束后触发 change 事件。',
|
49
|
+
setters: 'BooleanSetter'
|
50
|
+
}
|
51
|
+
],
|
52
|
+
events: ['change', 'pickstart', 'pickend'],
|
53
|
+
snippet: {
|
54
|
+
props: {
|
55
|
+
value: [9999, 10, 10],
|
56
|
+
'indicator-style': `height: 50px;`,
|
57
|
+
style: { width: ' 100%', height: '300px', marginTop: '20px' }
|
58
|
+
},
|
59
|
+
children: [
|
60
|
+
{
|
61
|
+
name: 'PickerViewColumn',
|
62
|
+
children: [
|
63
|
+
{
|
64
|
+
name: 'View',
|
65
|
+
props: {
|
66
|
+
style: { 'text-align': 'center' }
|
67
|
+
},
|
68
|
+
children: {
|
69
|
+
type: 'JSExpression',
|
70
|
+
value: 'this.context.item'
|
71
|
+
},
|
72
|
+
directives: [
|
73
|
+
{
|
74
|
+
name: 'vFor',
|
75
|
+
value: {
|
76
|
+
type: 'JSExpression',
|
77
|
+
value: '["2021年","2022年","2023年","2024年"]'
|
78
|
+
}
|
79
|
+
}
|
80
|
+
]
|
81
|
+
}
|
82
|
+
]
|
83
|
+
},
|
84
|
+
{
|
85
|
+
name: 'PickerViewColumn',
|
86
|
+
children: [
|
87
|
+
{
|
88
|
+
name: 'View',
|
89
|
+
props: {
|
90
|
+
style: { 'text-align': 'center' }
|
91
|
+
},
|
92
|
+
children: {
|
93
|
+
type: 'JSExpression',
|
94
|
+
value: 'this.context.item'
|
95
|
+
},
|
96
|
+
directives: [
|
97
|
+
{
|
98
|
+
name: 'vFor',
|
99
|
+
value: {
|
100
|
+
type: 'JSExpression',
|
101
|
+
value: '["3月","4月","5月","6月", "7月"]'
|
102
|
+
}
|
103
|
+
}
|
104
|
+
]
|
105
|
+
}
|
106
|
+
]
|
107
|
+
},
|
108
|
+
{
|
109
|
+
name: 'PickerViewColumn',
|
110
|
+
children: [
|
111
|
+
{
|
112
|
+
name: 'View',
|
113
|
+
props: {
|
114
|
+
style: { 'text-align': 'center' }
|
115
|
+
},
|
116
|
+
children: {
|
117
|
+
type: 'JSExpression',
|
118
|
+
value: 'this.context.item'
|
119
|
+
},
|
120
|
+
directives: [
|
121
|
+
{
|
122
|
+
name: 'vFor',
|
123
|
+
value: {
|
124
|
+
type: 'JSExpression',
|
125
|
+
value: '["3号","4号","5号","6号", "7号"]'
|
126
|
+
}
|
127
|
+
}
|
128
|
+
]
|
129
|
+
}
|
130
|
+
]
|
131
|
+
}
|
132
|
+
]
|
133
|
+
}
|
134
|
+
},
|
135
|
+
{
|
136
|
+
name: 'PickerViewColumn',
|
137
|
+
label: '选择器列',
|
138
|
+
parentIncludes: ['PickerView'],
|
139
|
+
categoryId: 'form',
|
140
|
+
snippet: {
|
141
|
+
children: [
|
142
|
+
{
|
143
|
+
name: 'View',
|
144
|
+
children: {
|
145
|
+
type: 'JSExpression',
|
146
|
+
value: 'this.context.item'
|
147
|
+
},
|
148
|
+
directives: [
|
149
|
+
{
|
150
|
+
name: 'vFor',
|
151
|
+
value: {
|
152
|
+
type: 'JSExpression',
|
153
|
+
value: '["2021年","2022年","2023年","2024年"]'
|
154
|
+
}
|
155
|
+
}
|
156
|
+
]
|
157
|
+
}
|
158
|
+
]
|
159
|
+
}
|
160
|
+
}
|
161
|
+
];
|
162
|
+
|
163
|
+
export default desc;
|
@@ -0,0 +1,71 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription = {
|
4
|
+
name: 'Progress',
|
5
|
+
label: '进度条',
|
6
|
+
categoryId: 'basic',
|
7
|
+
props: [
|
8
|
+
{ name: 'percent', title: '百分比0~100', setters: 'NumberSetter' },
|
9
|
+
{
|
10
|
+
name: 'show-info',
|
11
|
+
title: '在进度条右侧显示百分比',
|
12
|
+
defaultValue: false,
|
13
|
+
setters: 'BooleanSetter'
|
14
|
+
},
|
15
|
+
{
|
16
|
+
name: 'border-radius',
|
17
|
+
title: '圆角大小',
|
18
|
+
defaultValue: 0,
|
19
|
+
setters: ['NumberSetter', 'StringSetter']
|
20
|
+
},
|
21
|
+
{
|
22
|
+
name: 'font-size',
|
23
|
+
title: '右侧百分比字体大小',
|
24
|
+
defaultValue: 16,
|
25
|
+
setters: ['NumberSetter', 'StringSetter']
|
26
|
+
},
|
27
|
+
{
|
28
|
+
name: 'stroke-width',
|
29
|
+
title: '进度条线的宽度,单位px',
|
30
|
+
defaultValue: 6,
|
31
|
+
setters: 'NumberSetter'
|
32
|
+
},
|
33
|
+
{
|
34
|
+
name: 'activeColor',
|
35
|
+
title: '已选择的进度条的颜色',
|
36
|
+
defaultValue: '#09BB07',
|
37
|
+
setters: 'ColorSetter'
|
38
|
+
},
|
39
|
+
{
|
40
|
+
name: 'backgroundColor',
|
41
|
+
title: '未选择的进度条的颜色',
|
42
|
+
defaultValue: '#EBEBEB',
|
43
|
+
setters: 'ColorSetter'
|
44
|
+
},
|
45
|
+
{
|
46
|
+
name: 'active',
|
47
|
+
title: '进度条从左往右的动画',
|
48
|
+
defaultValue: false,
|
49
|
+
setters: 'BooleanSetter'
|
50
|
+
},
|
51
|
+
{
|
52
|
+
name: 'active-mode',
|
53
|
+
title: 'backwards: 动画从头播;forwards:动画从上次结束点接着播',
|
54
|
+
defaultValue: 'backwards',
|
55
|
+
setters: 'SelectSetter',
|
56
|
+
options: ['backwards', 'forwards']
|
57
|
+
},
|
58
|
+
{
|
59
|
+
name: 'duration',
|
60
|
+
title: '进度增加1%所需毫秒数',
|
61
|
+
defaultValue: 30,
|
62
|
+
setters: 'NumberSetter'
|
63
|
+
}
|
64
|
+
],
|
65
|
+
events: ['activeend'],
|
66
|
+
snippet: {
|
67
|
+
props: { percent: 10, 'show-info': true, 'stroke-width': '3' }
|
68
|
+
}
|
69
|
+
};
|
70
|
+
|
71
|
+
export default desc;
|
@@ -0,0 +1,127 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription[] = [
|
4
|
+
{
|
5
|
+
name: 'RadioGroup',
|
6
|
+
label: '单项选择器',
|
7
|
+
categoryId: 'form',
|
8
|
+
events: ['change'],
|
9
|
+
snippet: {
|
10
|
+
props: {},
|
11
|
+
children: [
|
12
|
+
{
|
13
|
+
name: 'Label',
|
14
|
+
props: {
|
15
|
+
key: {
|
16
|
+
type: 'JSExpression',
|
17
|
+
value: 'this.context.item.value'
|
18
|
+
},
|
19
|
+
style: { display: 'flex', flexDirection: 'row' }
|
20
|
+
},
|
21
|
+
|
22
|
+
children: [
|
23
|
+
{
|
24
|
+
name: 'View',
|
25
|
+
children: [
|
26
|
+
{
|
27
|
+
name: 'Radio',
|
28
|
+
props: {
|
29
|
+
value: {
|
30
|
+
type: 'JSExpression',
|
31
|
+
value: 'this.context.item.value'
|
32
|
+
},
|
33
|
+
checked: 'this.context.index === 0'
|
34
|
+
}
|
35
|
+
}
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
name: 'View',
|
40
|
+
children: {
|
41
|
+
type: 'JSExpression',
|
42
|
+
value: 'this.context.item.name'
|
43
|
+
}
|
44
|
+
}
|
45
|
+
],
|
46
|
+
directives: [
|
47
|
+
{
|
48
|
+
name: 'vFor',
|
49
|
+
value: {
|
50
|
+
type: 'JSExpression',
|
51
|
+
value:
|
52
|
+
"[{value: 'USA',name: '美国',checked: 'true'},{value: 'CHN',name:'中国'},{value: 'BRA', name: '巴西'},{value: 'JPN',name: '日本'},{value: 'ENG',name: '英国'},{value: 'FRA',name: '法国'}]"
|
53
|
+
}
|
54
|
+
}
|
55
|
+
]
|
56
|
+
}
|
57
|
+
]
|
58
|
+
}
|
59
|
+
},
|
60
|
+
{
|
61
|
+
name: 'Radio',
|
62
|
+
label: '单选项目',
|
63
|
+
categoryId: 'form',
|
64
|
+
props: [
|
65
|
+
{
|
66
|
+
name: 'value',
|
67
|
+
title:
|
68
|
+
'<radio> 标识。当该 <radio> 选中时,<radio-group> 的 change 事件会携带 <radio> 的 value',
|
69
|
+
setters: 'StringSetter'
|
70
|
+
},
|
71
|
+
{
|
72
|
+
name: 'checked',
|
73
|
+
title: '当前是否选中',
|
74
|
+
defaultValue: false,
|
75
|
+
setters: 'BooleanSetter'
|
76
|
+
},
|
77
|
+
{
|
78
|
+
name: 'disabled',
|
79
|
+
title: '是否禁用',
|
80
|
+
defaultValue: false,
|
81
|
+
setters: 'BooleanSetter'
|
82
|
+
},
|
83
|
+
{
|
84
|
+
name: 'color',
|
85
|
+
title: 'radio的颜色,同css的color',
|
86
|
+
setters: 'ColorSetter'
|
87
|
+
},
|
88
|
+
{
|
89
|
+
name: 'backgroundColor',
|
90
|
+
title: 'radio默认的背景颜色',
|
91
|
+
defaultValue: '#ffffff',
|
92
|
+
setters: 'ColorSetter'
|
93
|
+
},
|
94
|
+
{
|
95
|
+
name: 'borderColor',
|
96
|
+
title: 'radio默认的边框颜色',
|
97
|
+
defaultValue: '#d1d1d1',
|
98
|
+
setters: 'ColorSetter'
|
99
|
+
},
|
100
|
+
{
|
101
|
+
name: 'activeBackgroundColor',
|
102
|
+
title: 'radio选中时的背景颜色,优先级大于color属性',
|
103
|
+
defaultValue: '#007AFF',
|
104
|
+
setters: 'ColorSetter'
|
105
|
+
},
|
106
|
+
{
|
107
|
+
name: 'activeBorderColor',
|
108
|
+
title: 'radio选中时的边框颜色',
|
109
|
+
setters: 'ColorSetter'
|
110
|
+
},
|
111
|
+
{
|
112
|
+
name: 'iconColor',
|
113
|
+
title: 'radio的图标颜色',
|
114
|
+
defaultValue: '#ffffff',
|
115
|
+
setters: 'ColorSetter'
|
116
|
+
}
|
117
|
+
],
|
118
|
+
snippet: {
|
119
|
+
props: {
|
120
|
+
checked: false
|
121
|
+
},
|
122
|
+
children: '选项'
|
123
|
+
}
|
124
|
+
}
|
125
|
+
];
|
126
|
+
|
127
|
+
export default desc;
|
@@ -0,0 +1,67 @@
|
|
1
|
+
import type { MaterialDescription } from '@vtj/core';
|
2
|
+
|
3
|
+
const desc: MaterialDescription = {
|
4
|
+
name: 'RichText',
|
5
|
+
label: '文本',
|
6
|
+
categoryId: 'basic',
|
7
|
+
props: [
|
8
|
+
{
|
9
|
+
name: 'nodes',
|
10
|
+
title: '节点列表 / HTML String',
|
11
|
+
defaultValue: [],
|
12
|
+
setters: 'ArraySetter'
|
13
|
+
},
|
14
|
+
{
|
15
|
+
name: 'space',
|
16
|
+
title: '显示连续空格',
|
17
|
+
setters: 'StringSetter'
|
18
|
+
},
|
19
|
+
{
|
20
|
+
name: 'selectable',
|
21
|
+
title: '富文本是否可以长按选中,可用于复制,粘贴等场景',
|
22
|
+
defaultValue: true,
|
23
|
+
setters: 'BooleanSetter'
|
24
|
+
},
|
25
|
+
{
|
26
|
+
name: 'image-menu-prevent',
|
27
|
+
title: '阻止长按图片时弹起默认菜单',
|
28
|
+
defaultValue: false,
|
29
|
+
setters: 'BooleanSetter'
|
30
|
+
},
|
31
|
+
{
|
32
|
+
name: 'preview',
|
33
|
+
title: '富文本中的图片是否可点击预览',
|
34
|
+
setters: 'BooleanSetter'
|
35
|
+
}
|
36
|
+
],
|
37
|
+
events: [
|
38
|
+
'click',
|
39
|
+
'touchstart',
|
40
|
+
'touchmove',
|
41
|
+
'touchcancel',
|
42
|
+
'touchend',
|
43
|
+
'longpress',
|
44
|
+
'itemclick'
|
45
|
+
],
|
46
|
+
snippet: {
|
47
|
+
props: {
|
48
|
+
nodes: [
|
49
|
+
{
|
50
|
+
name: 'div',
|
51
|
+
attrs: {
|
52
|
+
class: 'div-class',
|
53
|
+
style: 'line-height: 60px; color: red; text-align:center;'
|
54
|
+
},
|
55
|
+
children: [
|
56
|
+
{
|
57
|
+
type: 'text',
|
58
|
+
text: 'Hello uni-app!'
|
59
|
+
}
|
60
|
+
]
|
61
|
+
}
|
62
|
+
]
|
63
|
+
}
|
64
|
+
}
|
65
|
+
};
|
66
|
+
|
67
|
+
export default desc;
|