Skip to content

Commit a93fd40

Browse files
fix: 删除组件内的多余的文件 (#1878)
* fix: 修复 ImagePreview 在Taro编译成H5后报错的问题 * fix: 地址关闭时, Close 事件触发两次问题解决 * feat: 组件DatePicker 添加双向绑定 * docs: 组件Picker文档修改 * feat: 组件Picker与DatePicker新增属性safe-area-inset-bottom * feat: imagepreview * fix: 组件imagepreview点击视频遮罩关闭(#1729) * fix: 解决 Picker 在微信小程序中无法使用问题 (#1774) * fix: 修改 Picker 组件 v-model 失效问题 * fix: 组件NoticeBar修改height之后,垂直轮播会卡顿 * fix: 删除Datepicker Demo演示多余内容 * fix: 组件Picker在JD小程序上适配 * fix: 组件Address京东小程序适配 * feat: 京东小程序适配 * fix: 删除空格 * feat: 删除console * fix: 京东小程序imagepreview适配 * fix: 修复 imagepreview 动态设置 initNo 显示不正确问题 * fix: 组件 InfiniteLoading 某些情况下会错误触发下拉刷新#1819 * fix: 删除pullrefresh * feat: 组件 imagepreview瘦身 * feat: 组件Picker 瘦身 * fix: address线上问题修改 * fix: 完善imagepreview * feat: 公共函数提取 * feat: 函数式改用 createComponent * feat: 地址修改 * fix: 删除多余文件
1 parent c0bc148 commit a93fd40

File tree

16 files changed

+64
-3809
lines changed

16 files changed

+64
-3809
lines changed

src/packages/__VUE/address/demo.vue

+14-8
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@
103103

104104
<script lang="ts">
105105
import { createComponent } from '@/packages/utils/create';
106-
import { reactive, ref, toRefs } from 'vue';
106+
import { onMounted, reactive, ref, toRefs } from 'vue';
107107
import { useTranslate } from '@/sites/assets/util/useTranslate';
108108
const { createDemo, translate } = createComponent('address');
109109
@@ -168,13 +168,7 @@ export default createDemo({
168168
setup() {
169169
initTranslate();
170170
const address = reactive({
171-
province: [
172-
{ id: 1, name: '北京', title: 'B' },
173-
{ id: 2, name: '广西', title: 'G' },
174-
{ id: 3, name: '江西', title: 'J' },
175-
{ id: 4, name: '四川', title: 'S' },
176-
{ id: 5, name: '浙江', title: 'Z' }
177-
],
171+
province: [],
178172
city: [
179173
{ id: 7, name: '朝阳区', title: 'C' },
180174
{ id: 8, name: '崇文区', title: 'C' },
@@ -191,6 +185,18 @@ export default createDemo({
191185
town: []
192186
});
193187
188+
onMounted(() => {
189+
setTimeout(() => {
190+
address.province = [
191+
{ id: 1, name: '北京', title: 'B' },
192+
{ id: 2, name: '广西', title: 'G' },
193+
{ id: 3, name: '江西', title: 'J' },
194+
{ id: 4, name: '四川', title: 'S' },
195+
{ id: 5, name: '浙江', title: 'Z' }
196+
];
197+
}, 1000);
198+
});
199+
194200
const placeholder = ref(['请选择省', '请选择市', '请选择县']);
195201
const value = ref([1, 7, 3]);
196202
const value2 = ref([1, 7, 3]);

src/packages/__VUE/address/index.scss

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
}
1010

1111
.custom-address {
12-
.region-tab {
12+
.nut-address-region-tab {
1313
color: $dark-color;
1414
}
1515
.region-con {
@@ -63,7 +63,7 @@
6363
// 请选择
6464
.custom-address {
6565
display: block;
66-
.region-tab {
66+
.nut-address-region-tab {
6767
position: relative;
6868
margin-top: 32px;
6969
padding: 0 20px;

src/packages/__VUE/address/index.vue

+26-53
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,10 @@
3434
</view>
3535

3636
<!-- 请选择 -->
37-
<view class="custom-address" v-if="privateType == 'custom'">
38-
<view class="region-tab" ref="tabRegion">
37+
<view class="custom-address" v-if="['custom', 'custom2'].includes(privateType)">
38+
<view class="nut-address-region-tab" ref="tabRegion">
3939
<view
40-
class="tab-item"
41-
:class="[index == tabIndex ? 'active' : '']"
40+
:class="['tab-item', index == tabIndex ? 'active' : '']"
4241
v-for="(item, key, index) in selectedRegion"
4342
:key="index"
4443
@click="changeRegionTab(item, key, index)"
@@ -49,7 +48,7 @@
4948
<view class="region-tab-line" ref="regionLine" :style="{ left: lineDistance + 'px' }"></view>
5049
</view>
5150

52-
<view class="region-con">
51+
<view class="region-con" v-if="privateType == 'custom'">
5352
<ul class="region-group">
5453
<li
5554
v-for="(item, index) in regionList[tabName[tabIndex]]"
@@ -72,23 +71,8 @@
7271
</li>
7372
</ul>
7473
</view>
75-
</view>
7674

77-
<!-- 请选择 -->
78-
<view class="custom-address" v-else-if="privateType == 'custom2'">
79-
<view class="region-tab" ref="tabRegion">
80-
<view
81-
class="tab-item"
82-
:class="[index == tabIndex ? 'active' : '']"
83-
v-for="(item, key, index) in selectedRegion"
84-
:key="index"
85-
@click="changeRegionTab(item, key, index)"
86-
>
87-
<view>{{ getTabName(item, index) }}</view>
88-
</view>
89-
<view class="region-tab-line" ref="regionLine" :style="{ left: lineDistance + 'px' }"></view>
90-
</view>
91-
<view class="elevator-group">
75+
<view class="elevator-group" v-else>
9276
<nut-elevator
9377
:height="height"
9478
:index-list="regionList[tabName[tabIndex]]"
@@ -142,6 +126,7 @@
142126
<script lang="ts">
143127
import { reactive, ref, toRefs, watch, nextTick, computed, Ref, onMounted } from 'vue';
144128
import { createComponent } from '@/packages/utils/create';
129+
import { isArray, isString, TypeOfFun } from '@/packages/utils/util';
145130
import { popupProps } from '../popup/props';
146131
const { componentName, create, translate } = createComponent('address');
147132
interface RegionData {
@@ -250,12 +235,12 @@ export default create({
250235
const privateType = ref(props.type);
251236
const tabIndex = ref(0);
252237
const tabName = ref(['province', 'city', 'country', 'town']);
253-
const tabNameDefault = ref(['']);
238+
const tabNameDefault = ref(new Array(4).fill(translate('select')));
254239
255240
const isCustom2 = computed(() => props.type === 'custom2');
256241
257242
const transformData = (data: RegionData[]) => {
258-
if (!Array.isArray(data)) throw new TypeError('params muse be array.');
243+
if (!isArray(data)) throw new TypeError('params muse be array.');
259244
260245
if (!data.length) return [];
261246
@@ -310,10 +295,6 @@ export default create({
310295
311296
const lineDistance = ref(20);
312297
313-
onMounted(() => {
314-
customPlaceholder();
315-
});
316-
317298
// 设置选中省市县
318299
const initCustomSelected = () => {
319300
if (props.modelValue.length > 0) {
@@ -341,18 +322,13 @@ export default create({
341322
};
342323
// 自定义‘请选择’文案
343324
const customPlaceholder = () => {
344-
let selectStr = translate('select');
345-
let typeD = Object.prototype.toString.call(props.columnsPlaceholder || selectStr);
346-
if (typeD == '[object String]') {
347-
tabNameDefault.value = new Array(4).fill(props.columnsPlaceholder || selectStr);
348-
} else if (typeD == '[object Array]') {
349-
tabNameDefault.value = new Array(4).fill('');
350-
tabNameDefault.value.forEach((val, index) => {
351-
if (props.columnsPlaceholder[index]) {
352-
tabNameDefault.value[index] = props.columnsPlaceholder[index];
353-
} else {
354-
tabNameDefault.value[index] = selectStr;
355-
}
325+
const { columnsPlaceholder } = props;
326+
if (!columnsPlaceholder) return;
327+
if (isString(columnsPlaceholder)) {
328+
tabNameDefault.value = new Array(4).fill(columnsPlaceholder);
329+
} else if (isArray(columnsPlaceholder) && columnsPlaceholder.length < 5) {
330+
columnsPlaceholder.forEach((val, index) => {
331+
tabNameDefault.value[index] = val;
356332
});
357333
}
358334
};
@@ -401,9 +377,6 @@ export default create({
401377
};
402378
403379
(selectedRegion as any)[tabName.value[tabIndex.value]] = item;
404-
// for (let i = tabIndex.value; i < tabIndex.value - 1; i++) {
405-
// (selectedRegion as any)[tabName.value[i + 1]] = {};
406-
// }
407380
408381
for (let i = tabIndex.value; i < 4; i++) {
409382
(selectedRegion as any)[tabName.value[i + 1]] = {};
@@ -462,7 +435,6 @@ export default create({
462435
463436
// 关闭
464437
const close = () => {
465-
console.log('关闭', closeWay.value, showPopup.value);
466438
const resCopy = Object.assign(
467439
{
468440
addressIdStr: '',
@@ -523,6 +495,10 @@ export default create({
523495
nextAreaList(item);
524496
};
525497
498+
const updateRegion = (type: string, value: any) => {
499+
regionList[type] = isCustom2.value ? transformData(value) : value;
500+
};
501+
526502
watch(
527503
() => props.visible,
528504
(value) => {
@@ -533,10 +509,8 @@ export default create({
533509
watch(
534510
() => showPopup.value,
535511
(value) => {
536-
console.log('监听 showpopup', showPopup.value);
537-
if (value == false) {
538-
// close();
539-
} else {
512+
if (value) {
513+
customPlaceholder();
540514
initCustomSelected();
541515
}
542516
}
@@ -545,33 +519,32 @@ export default create({
545519
watch(
546520
() => props.province,
547521
(value) => {
548-
regionList.province = isCustom2.value ? transformData(value) : value;
522+
updateRegion('province', value);
549523
}
550524
);
551525
watch(
552526
() => props.city,
553527
(value) => {
554-
regionList.city = isCustom2.value ? transformData(value) : value;
528+
updateRegion('city', value);
555529
}
556530
);
557531
watch(
558532
() => props.country,
559533
(value) => {
560-
regionList.country = isCustom2.value ? transformData(value) : value;
534+
updateRegion('country', value);
561535
}
562536
);
563537
watch(
564538
() => props.town,
565539
(value) => {
566-
regionList.town = isCustom2.value ? transformData(value) : value;
540+
updateRegion('town', value);
567541
}
568542
);
569543
570544
watch(
571545
() => props.existAddress,
572546
(value) => {
573-
// existAddress.value = value;
574-
value.forEach((item, index) => {
547+
value.forEach((item) => {
575548
if ((item as AddressList).selectedAddress) {
576549
selectedExistAddress = item as {};
577550
}

0 commit comments

Comments
 (0)