私が遭遇した問題は、バックエンドによって与えられたデータには、北京: 2 北京: 50 東城区:500 などの各住所に対応する ID があることです
このデータを処理するときに、以下に基づいていくつかの変更を加えました。元のマスター コードでは、
<code class="hljs bash" style="box-sizing: border-box; outline: 0px; display: block; padding: 0px; font-family: Consolas, Inconsolata, Courier, monospace; line-height: 22px; background-color: rgb(246, 248, 250); border-radius: 4px; overflow-x: auto; word-wrap: normal; word-break: break-all;"><span style="font-size: 14px;"><span class="hljs-built_in" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(79, 79, 79); word-break: break-all;">let</span> val = e.detail.value, t = this.data.values, cityData = this.data.cityData, index = this.data.id, list = this.data.addrList; list[index].area = <span class="hljs-literal" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(0, 102, 102); word-break: break-all;">true</span>; try { <span class="hljs-keyword" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(0, 0, 136); word-break: break-all;">if</span> (val[0] != t[0]) { //当val是选择省份的时候 const citys = []; const countys = []; cityData[val[0]].child.map(item => citys.push({name:item.name,id:item.id})); cityData[val[0]].child[0].child.map(item => countys.push({name:item.name,id:item.id})); list[index].provinceName = this.data.provinces[val[0]].name;//省份 list[index].cityName = cityData[val[0]].child[0].name;//城市 list[index].districtName = cityData[val[0]].child[0].child[0].name;//地区 list[index].province = this.data.provinces[val[0]].id;//对应的传值ID list[index].city = cityData[val[0]].child[0].id;//对应的传值ID list[index].district = cityData[val[0]].child[0].child[0].id;//对应的传值ID this.setData({ citys: citys, countys: countys, values: val, value: [val[0], 0, 0], addrList: list }) <span class="hljs-built_in" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(79, 79, 79); word-break: break-all;">return</span>; } <span class="hljs-keyword" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(0, 0, 136); word-break: break-all;">if</span> (val[1] != t[1]) {//当val是选择城市的时候 const countys = []; cityData[val[0]].child[val[1]].child.map(item => countys.push({name:item.name,id:item.id})); list[index].cityName = this.data.citys[val[1]].name;// 选择城市 list[index].city = this.data.citys[val[1]].id;//对应的传值ID list[index].districtName = cityData[val[0]].child[val[1]].child[0].name;//选择城市对应的地区 list[index].district = cityData[val[0]].child[val[1]].child[0].id;//对应的传值ID this.setData({ countys: countys, values: val, value: [val[0], val[1], 0], addrList: list }) <span class="hljs-built_in" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(79, 79, 79); word-break: break-all;">return</span>; } <span class="hljs-keyword" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(0, 0, 136); word-break: break-all;">if</span> (val[2] != t[2]) {//当val是选择地区的时候 list[index].districtName = this.data.countys[val[2]].name;//选择地区 list[index].district = this.data.countys[val[2]].id;//对应的传值ID this.setData({ county: this.data.countys[val[2]].name, values: val, addrList: list }) <span class="hljs-built_in" style="font-size: 14px; box-sizing: border-box; outline: 0px; color: rgb(79, 79, 79); word-break: break-all;">return</span>; } } catch(e) { // statements console.log(e); } list里面是有 收货人,电话,等等信息 但是我只操作改变数组里面地址改变的信息,</span></code>
だけです。
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
文字列内の最長の回文文字列を見つけるためにjsを操作する方法
以上がWeChat アプレット開発でアドレス ページの 3 レベルのリンクを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。