feat(area-selector): 重构地区选择器数据加载逻辑
- 将数据请求逻辑独立为 requestCityData 方法 - 集成腾讯地图行政区域 API 获取准确地区数据 - 实现地区数据格式转换适配组件需求 - 添加内置精简地区数据作为降级方案 - 优化异步处理和错误捕获机制 - 修复子级数据为空时的显示问题
This commit is contained in:
@@ -254,7 +254,7 @@
|
||||
|
||||
|
||||
<!-- 地址选择器 -->
|
||||
<liu-customize-sel ref="area" @change="chooseSuccess"></liu-customize-sel>
|
||||
<liu-customize-sel ref="area" :level="2" @change="chooseSuccess"></liu-customize-sel>
|
||||
</block>
|
||||
</u--form>
|
||||
|
||||
@@ -308,13 +308,16 @@
|
||||
avatarUrl: '',
|
||||
// 临时图片 (用于上传)
|
||||
tempFile: null,
|
||||
// 表单数据
|
||||
form: {
|
||||
houseTitle: '',
|
||||
area: '',
|
||||
status: 10,
|
||||
address: ''
|
||||
},
|
||||
// 表单数据
|
||||
form: {
|
||||
houseTitle: '',
|
||||
province: '',
|
||||
city: '',
|
||||
region: '',
|
||||
area: '',
|
||||
status: 10,
|
||||
address: ''
|
||||
},
|
||||
fileList1: [],
|
||||
fileList2: [],
|
||||
loading: false,
|
||||
@@ -537,6 +540,9 @@
|
||||
app.form.videoUrl = app.fileList2[0] ? app.fileList2[0].url : null
|
||||
app.form.monthlyRent = app.monthlyRent
|
||||
const saveOrUpdate = app.selectId > 0 ? updateHouseInfo : addHouseInfo;
|
||||
// 调试:打印提交的数据
|
||||
console.log('提交表单数据:', JSON.stringify(app.form, null, 2));
|
||||
console.log('province:', app.form.province, 'city:', app.form.city, 'area:', app.form.area);
|
||||
saveOrUpdate(app.form).then(result => {
|
||||
app.$toast('保存成功')
|
||||
setTimeout(() => {
|
||||
@@ -647,12 +653,23 @@
|
||||
},
|
||||
//地址选择成功
|
||||
chooseSuccess(e) {
|
||||
console.log('chooseSuccess 收到数据:', JSON.stringify(e));
|
||||
const data = e.value
|
||||
if (!data || data.length < 2) {
|
||||
console.error('地区数据不完整:', data);
|
||||
return;
|
||||
}
|
||||
this.form.province = data[0].label
|
||||
this.form.city = data[1].label
|
||||
this.form.region = data[2].label
|
||||
this.form.area = `${data[0].label} ${data[1].label} ${data[2].label}`
|
||||
console.log("this.form.area: ", this.form.area);
|
||||
// 根据选择层级保存数据
|
||||
if (data.length >= 3 && data[2]) {
|
||||
this.form.region = data[2].label
|
||||
this.form.area = `${data[0].label} ${data[1].label} ${data[2].label}`
|
||||
} else {
|
||||
this.form.region = ''
|
||||
this.form.area = `${data[0].label} ${data[1].label}`
|
||||
}
|
||||
console.log('地区选择完成 - province:', this.form.province, 'city:', this.form.city, 'area:', this.form.area);
|
||||
},
|
||||
changeHandler(e) {
|
||||
console.log("e: ", e);
|
||||
|
||||
Reference in New Issue
Block a user