修复地区选择器回显问题

This commit is contained in:
aixianling
2022-08-17 17:13:57 +08:00
parent f2ee0e0094
commit 1a341d12ee

View File

@@ -79,7 +79,7 @@ export default {
value: { value: {
immediate: true, immediate: true,
handler(v) { handler(v) {
v && !this.areaName && this.getAreaName(this.value) v && this.getAreaName(this.value)
} }
}, },
fullArea(v) { fullArea(v) {
@@ -104,17 +104,18 @@ export default {
}) })
}, },
getInfo(areaId) { getInfo(areaId) {
return areaId && this.$http.post('/admin/area/getAllParentAreaId', null, { return areaId ? this.$http.post('/admin/area/getAllParentAreaId', null, {
withoutToken: true, withoutToken: true,
params: {areaId}, params: {areaId},
}).then(res => { }).then(res => {
if (res?.data) { if (res?.data) {
return res.data.reverse() return res.data.reverse()
} }
}) }) : Promise.reject()
}, },
getFullArea(areaId) { getFullArea(areaId) {
return this.fullArea?.length > 0 ? Promise.resolve(this.fullArea) : this.getInfo(areaId).then(meta => { const current = this.fullArea.slice(-1)?.[0]?.id
return current && current == areaId ? Promise.resolve(this.fullArea) : this.getInfo(areaId).then(meta => {
if (meta.length > 1) { if (meta.length > 1) {
this.fullArea = meta.slice(this.dataRange) this.fullArea = meta.slice(this.dataRange)
} else { } else {
@@ -148,13 +149,15 @@ export default {
uni.navigateTo({url}) uni.navigateTo({url})
} }
}, },
getAreaName(area, name) { getAreaName(area) {
name ? this.areaName = name : if (this.multiple) {
this.multiple ? this.areaName = !![area].toString() ? `已选择${[area].flat().length}` : '' : this.areaName = `已选择${[area].flat().filter(Boolean)?.length}`.replace('已选择0个', '')
this.getFullArea(area).then(list => { } else {
let arr = JSON.parse(JSON.stringify(list)) this.getFullArea(area).then(list => {
this.areaName = arr?.reverse()?.[0]?.name || "" let arr = JSON.parse(JSON.stringify(list))
}) this.areaName = arr?.reverse()?.[0]?.name || ""
}).catch(() => this.areaName = '')
}
}, },
} }
} }