Closed CoffieLeo closed 3 years ago
你好,這是我當初思慮不周,將重覆的值拿來當id導致。目前思考改成下列方式,並發佈至v.2.0.0,twzipcode-vue也會採用twzipcode@v2.0.0版本,預計周末前處理完。
// 新竹市
{ id: 3000, zipcode: 300, county: '新竹市', city: '東區' },
{ id: 3001, zipcode: 300, county: '新竹市', city: '北區' },
{ id: 3002, zipcode: 300, county: '新竹市', city: '香山區' },
// 嘉義市
{ id: 6000, zipcode: 600, county: '嘉義市', city: '西區' },
{ id: 6001, zipcode: 600, county: '嘉義市', city: '東區' },
// 其餘鄉鎮市區 id = zipcode + '0'
你好,這是我當初思慮不周,將重覆的值拿來當id導致。目前思考改成下列方式,並發佈至v.2.0.0,twzipcode-vue也會採用twzipcode@v2.0.0版本,預計周末前處理完。
// 新竹市 { id: 3000, zipcode: 300, county: '新竹市', city: '東區' }, { id: 3001, zipcode: 300, county: '新竹市', city: '北區' }, { id: 3002, zipcode: 300, county: '新竹市', city: '香山區' }, // 嘉義市 { id: 6000, zipcode: 600, county: '嘉義市', city: '西區' }, { id: 6001, zipcode: 600, county: '嘉義市', city: '東區' }, // 其餘鄉鎮區 id == zipcode
不好意思,因為還是新手,不曉得該怎麼改 但又覺得這個下拉選單很讚,只是剛好發現問題所以來詢問看看 辛苦了,感謝!
@yyc1217 我個人覺得使用 ID 來設計 data 好像不是很妥當
如此造成 [UI] 選擇區域=> [DB] 郵遞區號=(ZIPCODE)300 => [UI] 套回 300 ,這時候用 300 查仍不知道是哪一區
我個人認為 data 的部分應該是沒有問題,現實 ZIPCODE 300 代表三個區也能合理呈現
如果加上 ID,變成 DB 除了存 ZIPCODE 之外,為了能夠重新呈現 select 必須要另外存 ID (3001.. 之類 )
目前我使用 zipcode 儲存方式會是 300,新竹市,東區 三個欄位,並且要呈現時 select value 會用 300-新竹市-東區
而不會單用 ZIPCODE 300
我個人認為應該是單純處理好 zipcode-vue 把選單可以正確 render
並且set value 的時候必須使用 300-新竹市-東區 (或其他,因為還要處理多語)
如真的必須使用 id 應該也是在 vue 那包另外做,因為以 zipcode-data 的概念看,資料上並沒有錯誤
而使用 id 區隔 3 個重複的 zipcode 應該是後續使用 select 應該做的,更有合理性
一點意見
@ausir0726 你說的有道理,我再修改vue那邊,這邊不動。
@yyc1217 不好意思 後來看一下現在用的 code 都是用 id 去取 zipcode 如果把ID 改成 四位數 會造成 break change ,就回去修每一個專案改 zipcode 但如果真的發生又不能不改 ,因為之後如果郵遞區號有變會造成無法更新 因此我要建議一下 如果另外要做一個索引 建議保留原本的 id => 100 (zipcode ) 要另外做出索引的部分 改 index => 1000 這樣子 當然 data 不改是最好啦
@yyc1217 不好意思 後來看一下現在用的 code 都是用 id 去取 zipcode 如果把ID 改成 四位數 會造成 break change ,就回去修每一個專案改 zipcode 但如果真的發生又不能不改 ,因為之後如果郵遞區號有變會造成無法更新 因此我要建議一下 如果另外要做一個索引 建議保留原本的 id => 100 (zipcode ) 要另外做出索引的部分 改 index => 1000 這樣子 當然 data 不改是最好啦
按照臺灣地區郵遞區號前3碼一覽表 103/12(Excel版) 的內容,原本應該是要:
...
{ 'id': 300, 'county': '新竹市', 'city': '全區' },
...
{ 'id': 600, 'county': '嘉義市', 'city': '全區' },
...
但我當初的想法是讓使用者可以用下列的方式輸入地址
<select>
<option>100台北市中正區</option>
...
</select>
<input>XXX路XXX號</input>
所以才把這兩個市給分開,但當初沒料想到會造成這麼大的問題,也是我過去一個月糾結許久未完成的原因
不過我還是想按照最初的想法,將原本的id移至zipcode,並將id改為「區碼+縣市中文+鄉鎮市區中文」,以便讓中英的資料指向同一個:
{ 'id': '300新竹市東區', 'zipcode': 300, 'county': '新竹市', 'city': '東區' },
{ 'id': '300新竹市北區', 'zipcode': 300, 'county': '新竹市', 'city': '北區' },
{ 'id': '300新竹市香山區', 'zipcode': 300, 'county': '新竹市', 'city': '香山區' },
...
{ 'id': '300新竹市東區', 'zipcode': 300, 'county': 'Hsinchu City', 'city': 'East District' },
{ 'id': '300新竹市北區', 'zipcode': 300, 'county': 'Hsinchu City', 'city': 'North District' },
{ 'id': '300新竹市香山區', 'zipcode': 300, 'county': 'Hsinchu City', 'city': 'Xiangshan District' },
這個改變我會放在v2.0.0,而且郵遞區號前三碼應該二、三十年都不會變,因此目前的v1.7.1應足以應付貴專案的需求,只能跟您說聲抱歉了。
然後這次就不給自己期限了🤣
@yyc1217 還是有沒有種可能
索引的欄位用 index
郵遞區號更正為 zipcode
而原來的 id 作為 zipcode
的 alias ( 用程式做,非增加兩筆相同的內容 )
因為這個部分會影響到 VUE 那個套件
因此我就不方便提供 PR 還甚麼的~
只有出意見 抱歉抱歉
整份拿到的結果有點類似
{ 'index': '300新竹市香山區', 'id': 300, 'zipcode': 300, 'county': '新竹市', 'city': '香山區' }
不會增加index欄位 twzipcode-vue那邊我會一併修正,也會放在v2.0.0版本
Solved in 477a91b1f3884604b67872d043a0111228e15dd1
不曉得新竹市跟嘉義市的區碼問題有解嗎? 看起來是兩個城市內的區碼都相同,所以下拉選單在選擇時都出現同一個區域