Skip to content

Commit 1290bca

Browse files
committed
fix: fix extend weui components
1 parent d5cfe3b commit 1290bca

26 files changed

+593
-8
lines changed

miniprogram/app.json

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,43 @@
220220
{
221221
"root": "packageExtend",
222222
"pages": [
223+
"pages/form/cell/cell",
224+
"pages/form/slideview/slideview",
225+
"pages/form/form/form",
226+
"pages/form/uploader/uploader",
227+
"pages/base/article/article",
228+
"pages/base/icons/icons",
229+
"pages/base/badge/badge",
230+
"pages/base/flex/flex",
231+
"pages/base/footer/footer",
232+
"pages/base/gallery/gallery",
233+
"pages/base/grid/grid",
234+
"pages/base/loadmore/loadmore",
235+
"pages/base/loading/loading",
236+
"pages/base/panel/panel",
237+
"pages/base/preview/preview",
238+
"pages/operate/dialog/dialog",
239+
"pages/operate/msg/msg",
240+
"pages/operate/msg/msg_success",
241+
"pages/operate/msg/msg_text",
242+
"pages/operate/msg/msg_text_primary",
243+
"pages/operate/msg/msg_fail",
244+
"pages/operate/half-screen-dialog/half-screen-dialog",
245+
"pages/operate/actionsheet/actionsheet",
246+
"pages/operate/toptips/toptips",
247+
"pages/navigation/navigation/navigation",
248+
"pages/navigation/tabbar/tabbar",
249+
"pages/search/searchbar/searchbar",
250+
"pages/extend/emoji/emoji",
251+
"pages/extend/video-swiper/video-swiper",
252+
"pages/extend/index-list/index-list",
253+
"pages/extend/recycle-view/recycle-view",
254+
"pages/extend/sticky/sticky",
255+
"pages/extend/tabs/tabs",
256+
"pages/extend/vtabs/vtabs",
257+
"pages/extend/barrage/barrage",
258+
"pages/extend/select-text/select-text",
259+
"pages/extend/wxml-to-canvas/wxml-to-canvas",
223260
"pages/adapt/telescopic/telescopic",
224261
"pages/adapt/linebreak/linebreak",
225262
"pages/adapt/sidenavigation/sidenavigation",
@@ -491,7 +528,6 @@
491528
"sdkVersionEnd": "15.255.255"
492529
}
493530
},
494-
"renderer": "skyline",
495531
"componentFramework": "glass-easel",
496532
"appBar": {},
497533
"supportedMaterials": [
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import CustomPage from '../../../base/CustomPage'
2+
3+
const base64 = require('../../images/base64')
4+
5+
CustomPage({
6+
onLoad() {
7+
this.setData({
8+
icon: base64.icon20,
9+
slideButtons: [{
10+
text: '普通',
11+
src: global.isDemo ? '/page/weui/example/cell/icon_love.svg' : '/example/cell/icon_love.svg', // icon的路径
12+
}, {
13+
text: '普通',
14+
extClass: 'test',
15+
src: global.isDemo ? '/page/weui/example/cell/icon_star.svg' : '/example/cell/icon_star.svg', // icon的路径
16+
}, {
17+
type: 'warn',
18+
text: '警示',
19+
extClass: 'test',
20+
src: global.isDemo ? '/page/weui/example/cell/icon_del.svg' : '/example/cell/icon_del.svg', // icon的路径
21+
}],
22+
})
23+
},
24+
slideButtonTap(e) {
25+
console.log('slide button tap', e.detail)
26+
}
27+
})
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"usingComponents": {
3+
"mp-navigation-bar": "weui-miniprogram/navigation-bar/navigation-bar",
4+
"mp-cells": "weui-miniprogram/cells/cells",
5+
"mp-cell": "weui-miniprogram/cell/cell",
6+
"mp-slideview": "weui-miniprogram/slideview/slideview"
7+
},
8+
"navigationStyle": "custom",
9+
"renderer": "skyline"
10+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<view class="page" data-weui-theme="{{theme}}">
2+
<mp-navigation-bar title="Cell"></mp-navigation-bar>
3+
<scroll-view type="list" scroll-y class="page-height">
4+
<view class="page__hd">
5+
<view class="page__title">Cell</view>
6+
<view class="page__desc">列表</view>
7+
</view>
8+
<view class="page__bd">
9+
<mp-cells ext-class="my-cells" title="带说明的列表项">
10+
<mp-cell value="标题文字" footer="说明文字"></mp-cell>
11+
<mp-cell>
12+
<view>标题文字(使用slot)</view>
13+
<view slot="footer">说明文字</view>
14+
</mp-cell>
15+
<mp-slideview show="{{true}}" buttons="{{slideButtons}}" bindbuttontap="slideButtonTap">
16+
<mp-cell value="左滑可以删除" footer="说明文字"></mp-cell>
17+
</mp-slideview>
18+
</mp-cells>
19+
20+
<mp-cells title="带图标、说明的列表项" footer="底部说明文字">
21+
<mp-cell value="标题文字" footer="说明文字">
22+
<image slot="icon" src="{{icon}}" style="margin-right: 16px;vertical-align: middle;width:20px; height: 20px;"></image>
23+
</mp-cell>
24+
<mp-cell value="标题文字" footer="说明文字">
25+
<image slot="icon" src="{{icon}}" style="margin-right: 16px;vertical-align: middle;width:20px; height: 20px;"></image>
26+
</mp-cell>
27+
</mp-cells>
28+
29+
<mp-cells title="带跳转的列表项">
30+
<mp-cell hover value="有hover效果,无跳转URL" footer="说明文字">
31+
<image slot="title" src="{{icon}}" style="margin-right: 16px;vertical-align: middle;width:20px; height: 20px;"></image>
32+
</mp-cell>
33+
<mp-cell link url="./cell" value="有跳转URL" footer="说明文字">
34+
<image slot="icon" src="{{icon}}" style="margin-right: 16px;vertical-align: middle;width:20px; height: 20px;"></image>
35+
</mp-cell>
36+
</mp-cells>
37+
38+
</view>
39+
</scroll-view>
40+
</view>
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
@import '../../common.wxss';
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 1 addition & 0 deletions
Loading
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
import CustomPage from '../../../base/CustomPage'
2+
3+
CustomPage({
4+
data: {
5+
showTopTips: false,
6+
7+
radioItems: [
8+
{ name: 'cell standard', value: '0', checked: true },
9+
{ name: 'cell standard', value: '1' }
10+
],
11+
checkboxItems: [
12+
{ name: 'standard is dealt for u.', value: '0', checked: true },
13+
{ name: 'standard is dealicient for u.', value: '1' }
14+
],
15+
items: [
16+
{ name: 'USA', value: '美国' },
17+
{ name: 'CHN', value: '中国', checked: 'true' },
18+
{ name: 'BRA', value: '巴西' },
19+
{ name: 'JPN', value: '日本' },
20+
{ name: 'ENG', value: '英国' },
21+
{ name: 'TUR', value: '法国' },
22+
],
23+
24+
date: '2016-09-01',
25+
time: '12:01',
26+
27+
countryCodes: ['+86', '+80', '+84', '+87'],
28+
countryCodeIndex: 0,
29+
30+
countries: ['中国', '美国', '英国'],
31+
countryIndex: 0,
32+
33+
accounts: ['微信号', 'QQ', 'Email'],
34+
accountIndex: 0,
35+
36+
isAgree: false,
37+
formData: {
38+
39+
},
40+
rules: [{
41+
name: 'radio',
42+
rules: { required: false, message: '单选列表是必选项' },
43+
}, {
44+
name: 'checkbox',
45+
rules: { required: true, message: '多选列表是必选项' },
46+
}, {
47+
name: 'name',
48+
rules: { required: true, message: '请输入姓名' },
49+
}, {
50+
name: 'qq',
51+
rules: { required: true, message: 'qq必填' },
52+
}, {
53+
name: 'mobile',
54+
rules: [{ required: true, message: 'mobile必填' }, { mobile: true, message: 'mobile格式不对' }],
55+
}, {
56+
name: 'vcode',
57+
rules: { required: true, message: '验证码必填' },
58+
}, {
59+
name: 'idcard',
60+
rules: {
61+
validator(rule, value) {
62+
if (!value || value.length !== 18) {
63+
return 'idcard格式不正确'
64+
}
65+
return ''
66+
}
67+
},
68+
}]
69+
},
70+
radioChange(e) {
71+
console.log('radio发生change事件,携带value值为:', e.detail.value)
72+
73+
const radioItems = this.data.radioItems
74+
for (let i = 0, len = radioItems.length; i < len; ++i) {
75+
radioItems[i].checked = radioItems[i].value === e.detail.value
76+
}
77+
78+
this.setData({
79+
radioItems,
80+
'formData.radio': e.detail.value
81+
})
82+
},
83+
checkboxChange(e) {
84+
console.log('checkbox发生change事件,携带value值为:', e.detail.value)
85+
86+
const checkboxItems = this.data.checkboxItems; const
87+
values = e.detail.value
88+
for (let i = 0, lenI = checkboxItems.length; i < lenI; ++i) {
89+
checkboxItems[i].checked = false
90+
91+
for (let j = 0, lenJ = values.length; j < lenJ; ++j) {
92+
if (checkboxItems[i].value === values[j]) {
93+
checkboxItems[i].checked = true
94+
break
95+
}
96+
}
97+
}
98+
99+
this.setData({
100+
checkboxItems,
101+
'formData.checkbox': e.detail.value
102+
})
103+
},
104+
bindDateChange(e) {
105+
this.setData({
106+
date: e.detail.value,
107+
'formData.date': e.detail.value
108+
})
109+
},
110+
formInputChange(e) {
111+
const { field } = e.currentTarget.dataset
112+
this.setData({
113+
[`formData.${field}`]: e.detail.value
114+
})
115+
},
116+
bindTimeChange(e) {
117+
this.setData({
118+
time: e.detail.value
119+
})
120+
},
121+
bindCountryCodeChange(e) {
122+
console.log('picker country code 发生选择改变,携带值为', e.detail.value)
123+
124+
this.setData({
125+
countryCodeIndex: e.detail.value
126+
})
127+
},
128+
bindCountryChange(e) {
129+
console.log('picker country 发生选择改变,携带值为', e.detail.value)
130+
131+
this.setData({
132+
countryIndex: e.detail.value
133+
})
134+
},
135+
bindAccountChange(e) {
136+
console.log('picker account 发生选择改变,携带值为', e.detail.value)
137+
138+
this.setData({
139+
accountIndex: e.detail.value
140+
})
141+
},
142+
bindAgreeChange(e) {
143+
this.setData({
144+
isAgree: !!e.detail.value.length
145+
})
146+
},
147+
submitForm() {
148+
this.selectComponent('#form').validate((valid, errors) => {
149+
console.log('valid', valid, errors)
150+
if (!valid) {
151+
const firstError = Object.keys(errors)
152+
if (firstError.length) {
153+
this.setData({
154+
error: errors[firstError[0]].message
155+
})
156+
}
157+
} else {
158+
wx.showToast({
159+
title: '校验通过'
160+
})
161+
}
162+
})
163+
// this.selectComponent('#form').validateField('mobile', (valid, errors) => {
164+
// console.log('valid', valid, errors)
165+
// })
166+
}
167+
168+
})
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
{
2+
"usingComponents": {
3+
"mp-nagivation-bar": "weui-miniprogram/nagivation-bar/nagivation-bar",
4+
"mp-form-page": "weui-miniprogram/form-page/form-page",
5+
"mp-toptips": "weui-miniprogram/toptips/toptips",
6+
"mp-cells": "weui-miniprogram/cells/cells",
7+
"mp-cell": "weui-miniprogram/cell/cell",
8+
"mp-checkbox": "weui-miniprogram/checkbox/checkbox",
9+
"mp-checkbox-group": "weui-miniprogram/checkbox-group/checkbox-group",
10+
"mp-form": "weui-miniprogram/form/form"
11+
},
12+
"navigationStyle": "custom",
13+
"renderer": "skyline"
14+
}

0 commit comments

Comments
 (0)