Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
6c6de67
fix: 修复 ImagePreview 在Taro编译成H5后报错的问题
yangxiaolu1993 Sep 22, 2022
8dd3a46
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Sep 22, 2022
9c51a98
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Sep 22, 2022
06bd06e
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Sep 23, 2022
d3cb370
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 12, 2022
c040c5c
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 13, 2022
cce2619
fix: 地址关闭时, Close 事件触发两次问题解决
yangxiaolu1993 Oct 13, 2022
c4d76a5
feat: 组件DatePicker 添加双向绑定
yangxiaolu1993 Oct 13, 2022
4382636
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 13, 2022
54e281a
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 21, 2022
9797b0c
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 21, 2022
fc382b1
docs: 组件Picker文档修改
yangxiaolu1993 Oct 21, 2022
c003337
feat: 组件Picker与DatePicker新增属性safe-area-inset-bottom
yangxiaolu1993 Oct 21, 2022
17feea3
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 21, 2022
70024fd
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 24, 2022
437e345
feat: imagepreview
yangxiaolu1993 Oct 24, 2022
4d5fcf0
fix: 组件imagepreview点击视频遮罩关闭(#1729)
yangxiaolu1993 Oct 25, 2022
30ec6af
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 25, 2022
6df0424
fix: 解决 Picker 在微信小程序中无法使用问题 (#1774)
yangxiaolu1993 Oct 26, 2022
206d975
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 26, 2022
72eca76
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 26, 2022
221bfd4
Merge branch 'jdf2e:next' into next
yangxiaolu1993 Oct 28, 2022
e3e8d5b
fix: 修改 Picker 组件 v-model 失效问题
yangxiaolu1993 Oct 28, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions src/packages/__VUE/picker/index.taro.vue
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ export default create({
...popupProps,
modelValue: {
type: Array as PropType<(string | number)[]>,
default: () => []
default: []
},
title: {
type: String,
Expand Down Expand Up @@ -133,7 +133,9 @@ export default create({

const pickerline = ref(null);
// 选中项
let defaultValues = ref<(number | string)[]>(props.modelValue);
let defaultValues = ref<(number | string)[]>(
Array.isArray(props.modelValue) && props.modelValue.length > 0 ? props.modelValue : []
);
// 选中项的位置
let defaultIndexes = ref<number[]>([]);

Expand Down Expand Up @@ -244,7 +246,6 @@ export default create({
} else {
defaultValues.value[columnIndex] = option.hasOwnProperty('value') ? option.value : '';
}

emit('change', {
columnIndex: columnIndex,
selectedValue: defaultValues.value,
Expand All @@ -253,7 +254,7 @@ export default create({
}
};

const defaultValuesConvert = computed(() => {
const defaultValuesConvert = () => {
let defaultIndexs = [];
if (defaultValues.value.length > 0) {
defaultValues.value.forEach((value, index) => {
Expand All @@ -264,14 +265,18 @@ export default create({
}
}
});
} else {
columnsList.value.forEach((item) => {
defaultIndexs.push(0);
defaultValues.value.push(item[0].value);
});
}

return defaultIndexs;
});
};

// 平铺展示时,滚动选择
const tileChange = ({ detail }) => {
console.log('选择');
const prevDefaultValue = defaultIndexes.value;
let changeIndex = 0;
// 判断变化的是第几个
Expand All @@ -289,7 +294,6 @@ export default create({
// 确定
const confirmHandler = () => {
if (state.picking) {
console.log('滚动中');
setTimeout(() => {
confirmHandlerAwit();
}, 0);
Expand All @@ -305,7 +309,7 @@ export default create({
selectedOptions.value.push(columns[0]);
});
}
console.log('确定', defaultValues.value);

emit('confirm', {
selectedValue: defaultValues.value,
selectedOptions: selectedOptions.value
Expand All @@ -317,20 +321,17 @@ export default create({

// 开始滚动
const handlePickstart = () => {
console.log('开始滚动');
state.picking = true;
};
// 开始滚动
const handlePickend = () => {
console.log('滚动结束');
state.picking = false;
};

const refRandomId = Math.random().toString(36).slice(-8);

const getReference = async () => {
const refe = await useTaroRect(pickerline, Taro);
console.log(refe.height);
state.lineSpacing = refe.height ? refe.height : 36;
};

Expand All @@ -341,7 +342,7 @@ export default create({
getReference();
}, 200);
} else {
defaultIndexes.value = defaultValuesConvert.value;
defaultIndexes.value = defaultValuesConvert();
}
state.show = props.visible;
}
Expand All @@ -357,7 +358,7 @@ export default create({
const isSameValue = JSON.stringify(newValues) === JSON.stringify(defaultValues.value);
if (!isSameValue) {
defaultValues.value = newValues;
defaultIndexes.value = defaultValuesConvert.value;
defaultIndexes.value = defaultValuesConvert();
}
},
{ deep: true }
Expand All @@ -371,7 +372,7 @@ export default create({
emit('update:modelValue', newValues);
}
},
{ immediate: true }
{ deep: true }
);

watch(
Expand All @@ -387,7 +388,7 @@ export default create({

pickerColumn.value = [];
} else {
defaultIndexes.value = defaultValuesConvert.value;
defaultIndexes.value = defaultValuesConvert();
}
}
}
Expand Down Expand Up @@ -417,7 +418,6 @@ export default create({
refRandomId,
pickerline,
tileChange,
defaultValuesConvert,
handlePickstart,
handlePickend
};
Expand Down
20 changes: 15 additions & 5 deletions src/packages/__VUE/picker/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
:column="column"
:readonly="readonly"
:columnsType="columnsType"
:value="defaultValues[columnIndex]"
:value="defaultValues && defaultValues[columnIndex]"
:threeDimensional="threeDimensional"
:swipeDuration="swipeDuration"
@change="
Expand Down Expand Up @@ -116,7 +116,9 @@ export default create({
});

// 选中项
let defaultValues = ref<(number | string)[]>(props.modelValue);
let defaultValues = ref<(number | string)[]>(
Array.isArray(props.modelValue) && props.modelValue.length > 0 ? props.modelValue : []
);

const pickerColumn = ref<any[]>([]);

Expand Down Expand Up @@ -163,7 +165,11 @@ export default create({
return state.formattedColumns as PickerOption[][];
case 'cascade':
// 级联数据处理
return formatCascade(state.formattedColumns as PickerOption[], defaultValues.value);

return formatCascade(
state.formattedColumns as PickerOption[],
defaultValues.value ? defaultValues.value : []
);
default:
return [state.formattedColumns] as PickerOption[][];
}
Expand Down Expand Up @@ -204,6 +210,8 @@ export default create({

const changeHandler = (columnIndex: number, option: PickerOption) => {
if (option && Object.keys(option).length) {
defaultValues.value = defaultValues.value ? defaultValues.value : [];

if (columnsType.value === 'cascade') {
defaultValues.value[columnIndex] = option.value ? option.value : '';
let index = columnIndex;
Expand Down Expand Up @@ -277,14 +285,16 @@ export default create({
emit('update:modelValue', newValues);
}
},
{ immediate: true }
{ deep: true }
);

watch(
() => props.visible,
(val) => {
state.show = val;
if (val) pickerColumn.value = [];
if (val) {
pickerColumn.value = [];
}
}
);

Expand Down