Skip to content

Commit cf06fdf

Browse files
committed
publish v1.3.2-20210604, release:
- uni-data-checkbox 新增 map 属性,可以方便映射text/value属性 - uni-data-checkbox 修复 不关联服务空间的情况下组件报错的Bug - uni-data-picker 修复 上个版本引出的本地数据无法选择带有children的2级节点 - uni-forms 修复 动态删减数据导致报错的问题 - uni-forms 新增 modelValue 属性 ,value 即将废弃 - uni-forms 新增 uni-forms-item 可以设置单独的 rules - uni-forms 新增 validate 事件增加 keepitem 参数,可以选择那些字段不过滤 - uni-forms 优化 submit 事件重命名为 validate - uni-data-picker 修复 无法加载云端数据的问题 - uni-data-picker 修复 v-model无效问题 - uni-data-picker 修复 loaddata 为空数据组时加载时间过长问题 - uni-datetime-picker 修复 图标在小程序上不显示的 bug - uni-datetime-picker 优化 重命名引用组件,避免潜在组件命名冲突 - uni-datetime-picker 优化 代码目录扁平化 - uni-tag 修复 未定义 sass 变量 "$uni-color-royal" 的bug
1 parent ce4db4f commit cf06fdf

File tree

24 files changed

+1019
-928
lines changed

24 files changed

+1019
-928
lines changed

docs/changelog.md

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,64 @@
77
- 主版本号:含有破坏性更新和新特性,不在发布周期内。
88

99
<!-- 更新占位 -->
10+
<log title="1.3.2" date="2021-06-04">
11+
<log-item title="uni-data-checkbox 组件更新">
12+
<log-item-text tag-type="feat">
13+
map 属性,可以方便映射text/value属性
14+
</log-item-text>
15+
<log-item-text tag-type="fix">
16+
不关联服务空间的情况下组件报错的Bug
17+
</log-item-text>
18+
</log-item>
19+
<log-item title="uni-data-picker 组件更新">
20+
<log-item-text tag-type="fix">
21+
无法加载云端数据的问题
22+
</log-item-text>
23+
<log-item-text tag-type="fix">
24+
v-model无效问题
25+
</log-item-text>
26+
<log-item-text tag-type="fix">
27+
loaddata 为空数据组时加载时间过长问题
28+
</log-item-text>
29+
<log-item-text tag-type="fix">
30+
上个版本引出的本地数据无法选择带有children的2级节点
31+
</log-item-text>
32+
</log-item>
33+
<log-item title="uni-datetime-picker 组件更新">
34+
<log-item-text tag-type="fix">
35+
图标在小程序上不显示的 bug
36+
</log-item-text>
37+
<log-item-text tag-type="perf">
38+
重命名引用组件,避免潜在组件命名冲突
39+
</log-item-text>
40+
<log-item-text tag-type="perf">
41+
代码目录扁平化
42+
</log-item-text>
43+
</log-item>
44+
<log-item title="uni-forms 组件更新">
45+
<log-item-text tag-type="fix">
46+
动态删减数据导致报错的问题
47+
</log-item-text>
48+
<log-item-text tag-type="feat">
49+
modelValue 属性 ,value 即将废弃
50+
</log-item-text>
51+
<log-item-text tag-type="feat">
52+
uni-forms-item 可以设置单独的 rules
53+
</log-item-text>
54+
<log-item-text tag-type="feat">
55+
validate 事件增加 keepitem 参数,可以选择那些字段不过滤
56+
</log-item-text>
57+
<log-item-text tag-type="perf">
58+
submit 事件重命名为 validate
59+
</log-item-text>
60+
</log-item>
61+
<log-item title="uni-tag 组件更新">
62+
<log-item-text tag-type="fix">
63+
未定义 sass 变量 "$uni-color-royal" 的bug
64+
</log-item-text>
65+
</log-item>
66+
</log>
67+
1068
<log title="1.3.1" date="2021-05-14">
1169
<log-item title="uni-badge 组件更新">
1270
<log-item-text tag-type="feat">

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"id": "55",
33
"name": "@dcloudio/uni-ui",
4-
"version": "1.3.1",
4+
"version": "1.3.2",
55
"description": "",
66
"author": "dcloud",
77
"license": "Apache-2.0",

packages/lib/uni-data-checkbox/uni-data-checkbox.vue

Lines changed: 30 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -8,20 +8,14 @@
88
</template>
99
<template v-else>
1010
<checkbox-group v-if="multiple" class="checklist-group" :class="{'is-list':mode==='list' || wrap}" @change="chagne">
11-
<!-- :class="item.labelClass" -->
1211
<label class="checklist-box" :class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
1312
:style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
14-
<checkbox class="hidden" hidden :disabled="disabled || !!item.disabled" :value="item.value+''" :checked="item.selected" />
15-
<!-- :style="item.styleIcon" -->
16-
13+
<checkbox class="hidden" hidden :disabled="disabled || !!item.disabled" :value="item[map.value]+''" :checked="item.selected" />
1714
<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')" class="checkbox__inner" :style="item.styleIcon">
18-
<!-- :class="item.checkboxClass" -->
1915
<view class="checkbox__inner-icon"></view>
2016
</view>
2117
<view class="checklist-content" :class="{'list-content':mode === 'list' && icon ==='left'}">
22-
<!-- :class="item.textClass" -->
23-
<text class="checklist-text" :style="item.styleIconText">{{item.text}}</text>
24-
<!-- :class="item.listClass" -->
18+
<text class="checklist-text" :style="item.styleIconText">{{item[map.text]}}</text>
2519
<view v-if="mode === 'list' && icon === 'right'" class="checkobx__list" :style="item.styleBackgroud"></view>
2620
</view>
2721
</label>
@@ -30,17 +24,13 @@
3024
<!-- -->
3125
<label class="checklist-box" :class="['is--'+mode,item.selected?'is-checked':'',(disabled || !!item.disabled)?'is-disable':'',index!==0&&mode==='list'?'is-list-border':'']"
3226
:style="item.styleBackgroud" v-for="(item,index) in dataList" :key="index">
33-
<radio class="hidden" hidden :disabled="disabled || item.disabled" :value="item.value+''" :checked="item.selected" />
34-
<!-- :class="item.checkboxBgClass" -->
27+
<radio class="hidden" hidden :disabled="disabled || item.disabled" :value="item[map.value]+''" :checked="item.selected" />
3528
<view v-if="(mode !=='tag' && mode !== 'list') || ( mode === 'list' && icon === 'left')" class="radio__inner"
3629
:style="item.styleBackgroud">
37-
<!-- :class="item.checkboxClass" -->
3830
<view class="radio__inner-icon" :style="item.styleIcon"></view>
3931
</view>
4032
<view class="checklist-content" :class="{'list-content':mode === 'list' && icon ==='left'}">
41-
<!-- :class="item.textClass" -->
42-
<text class="checklist-text" :style="item.styleIconText">{{item.text}}</text>
43-
<!-- :class="item.listClass" -->
33+
<text class="checklist-text" :style="item.styleIconText">{{item[map.text]}}</text>
4434
<view v-if="mode === 'list' && icon === 'right'" :style="item.styleRightIcon" class="checkobx__list"></view>
4535
</view>
4636
</label>
@@ -51,9 +41,9 @@
5141

5242
<script>
5343
/**
54-
* DataCheckbox 数据选择器
44+
* DataChecklist 数据选择器
5545
* @description 通过数据渲染 checkbox 和 radio
56-
* @tutorial https://ext.dcloud.net.cn/plugin?id=3456
46+
* @tutorial https://ext.dcloud.net.cn/plugin?id=xxx
5747
* @property {String} mode = [default| list | button | tag] 显示模式
5848
* @value default 默认横排模式
5949
* @value list 列表模式
@@ -74,9 +64,11 @@
7464
* @event {Function} change 选中发生变化触发
7565
*/
7666
67+
// import clientdb from './clientdb.js'
7768
export default {
78-
name: 'uniDataCheckbox',
79-
mixins: [uniCloud.mixinDatacom],
69+
name: 'uniDataChecklist',
70+
// mixins: [clientdb],
71+
mixins: [uniCloud.mixinDatacom || {}],
8072
props: {
8173
mode: {
8274
type: String,
@@ -129,6 +121,15 @@
129121
disabled:{
130122
type: Boolean,
131123
default: false
124+
},
125+
map:{
126+
type: Object,
127+
default(){
128+
return {
129+
text:'text',
130+
value:'value'
131+
}
132+
}
132133
}
133134
},
134135
watch: {
@@ -167,7 +168,7 @@
167168
created() {
168169
this.form = this.getForm('uniForms')
169170
this.formItem = this.getForm('uniFormsItem')
170-
this.formItem && this.formItem.setValue(this.value)
171+
// this.formItem && this.formItem.setValue(this.value)
171172
172173
if (this.formItem) {
173174
if (this.formItem.name) {
@@ -224,16 +225,17 @@
224225
225226
if (this.multiple) {
226227
this.range.forEach(item => {
227-
if (values.includes(item.value + '')) {
228-
detail.value.push(item.value)
228+
229+
if (values.includes(item[this.map.value] + '')) {
230+
detail.value.push(item[this.map.value])
229231
detail.data.push(item)
230232
}
231233
})
232234
} else {
233-
const range = this.range.find(item => (item.value + '') === values)
235+
const range = this.range.find(item => (item[this.map.value] + '') === values)
234236
if (range) {
235237
detail = {
236-
value: range.value,
238+
value: range[this.map.value],
237239
data: range
238240
}
239241
}
@@ -270,13 +272,13 @@
270272
item.disabled = item.disable || item.disabled || false
271273
if (this.multiple) {
272274
if (value.length > 0) {
273-
let have = value.find(val => val === item.value)
275+
let have = value.find(val => val === item[this.map.value])
274276
item.selected = have !== undefined
275277
} else {
276278
item.selected = false
277279
}
278280
} else {
279-
item.selected = value === item.value
281+
item.selected = value === item[this.map.value]
280282
}
281283
282284
list.push(item)
@@ -294,14 +296,14 @@
294296
list.forEach((item, index) => {
295297
if (this.multiple) {
296298
if (selectList.length <= min) {
297-
let have = selectList.find(val => val.value === item.value)
299+
let have = selectList.find(val => val[this.map.value] === item[this.map.value])
298300
if (have !== undefined) {
299301
item.disabled = true
300302
}
301303
}
302304
303305
if (selectList.length >= max && max !== '') {
304-
let have = selectList.find(val => val.value === item.value)
306+
let have = selectList.find(val => val[this.map.value] === item[this.map.value])
305307
if (have === undefined) {
306308
item.disabled = true
307309
}
@@ -335,7 +337,7 @@
335337
let selectedArr = []
336338
range.forEach((item) => {
337339
if (item.selected) {
338-
selectedArr.push(item.value)
340+
selectedArr.push(item[this.map.value])
339341
}
340342
})
341343
return this.value.length > 0 ? this.value : selectedArr

packages/lib/uni-data-picker/uni-data-picker.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,11 +242,13 @@
242242
value[i] = selected[i].value
243243
}
244244
245+
const item = selected[selected.length - 1]
246+
245247
if (this.formItem) {
246-
const item = selected[selected.length - 1]
247248
this.formItem.setValue(item.value)
248249
}
249250
251+
this.$emit('input', item.value)
250252
this.$emit('change', {
251253
detail: {
252254
value: selected

packages/lib/uni-data-pickerview/uni-data-picker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export default {
102102
},
103103
computed: {
104104
isLocaldata() {
105-
return this.localdata.length > 0
105+
return !this.collection.length
106106
},
107107
postField() {
108108
let fields = [this.field];

packages/lib/uni-data-pickerview/uni-data-pickerview.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@
110110
hasNodes
111111
} = this._updateBindData()
112112
113-
if (!this._isTreeView()) {
113+
if (!this._isTreeView() && !hasNodes) {
114114
this.onSelectedChange(node, true)
115115
return
116116
}

packages/lib/uni-datetime-picker/basic/uni-calendar.vue renamed to packages/lib/uni-datetime-picker/calendar.vue

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,8 +93,8 @@
9393

9494
<script>
9595
import Calendar from './util.js';
96-
import calendarItem from './uni-calendar-item.vue'
97-
import timePicker from './time-picker/components/time-picker/time-picker.vue'
96+
import calendarItem from './calendar-item.vue'
97+
import timePicker from './time-picker.vue'
9898
/**
9999
* Calendar 日历
100100
* @description 日历组件可以查看日期,选择任意范围内的日期,打点操作。常用场景如:酒店日期预订、火车机票选择购买日期、上下班打卡等
@@ -117,7 +117,7 @@
117117
*/
118118
export default {
119119
components: {
120-
calendarItem,
120+
calendarItem,
121121
timePicker
122122
},
123123
props: {
@@ -209,7 +209,7 @@
209209
timeRange: {
210210
startTime: this.defTime.start ? this.defTime.start : '',
211211
endTime: this.defTime.end ? this.defTime.end : ''
212-
},
212+
},
213213
tempSingleDate: this.date,
214214
tempRange: {
215215
before: '',
@@ -444,7 +444,7 @@
444444
this.calendar = weeks
445445
// 设置多选
446446
this.cale.setMultiple(this.calendar.fullDate, true)
447-
this.weeks = this.cale.weeks
447+
this.weeks = this.cale.weeks
448448
this.tempSingleDate = this.calendar.fullDate
449449
this.tempRange.before = this.cale.multipleStatus.before
450450
this.tempRange.after = this.cale.multipleStatus.after
@@ -757,4 +757,4 @@
757757
.mr-10 {
758758
margin-right: 10px;
759759
}
760-
</style>
760+
</style>
-673 Bytes
Binary file not shown.

0 commit comments

Comments
 (0)