UNPKG

vue-addresstw-my

Version:

A Vue component for select Taiwan county, city and zipcode.

2 lines 3.31 kB
(function(e,t){"object"===typeof exports&&"object"===typeof module?module.exports=t(require("vue")):"function"===typeof define&&define.amd?define([],t):"object"===typeof exports?exports["vue-address"]=t(require("vue")):e["vue-address"]=t(e["Vue"])})("undefined"!==typeof self?self:this,(function(e){return function(){var t={82:function(e,t){"use strict";t.Z=(e,t)=>{const n=e.__vccOpts||e;for(const[o,i]of t)n[o]=i;return n}},8:function(){},203:function(t){"use strict";t.exports=e}},n={};function o(e){var i=n[e];if(void 0!==i)return i.exports;var c=n[e]={exports:{}};return t[e](c,c.exports,o),c.exports}!function(){o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}}(),function(){o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)}}(),function(){o.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}}(),function(){o.p=""}();var i={};return function(){"use strict";if(o.r(i),o.d(i,{default:function(){return g}}),"undefined"!==typeof window){var e=window.document.currentScript,t=e&&e.src.match(/(.+\/)[^/]+\.js(\?.*)?$/);t&&(o.p=t[1])}var n=o(203);const c={class:"vue-address"},u=["name"],r=(0,n.createElementVNode)("option",{value:"",disabled:""},"請選擇",-1),a=["value"],l=["name"],s=(0,n.createElementVNode)("option",{value:"",disabled:""},"請選擇",-1),d=["value"];function p(e,t,o,i,p,f){return(0,n.openBlock)(),(0,n.createElementBlock)("div",c,[(0,n.withDirectives)((0,n.createElementVNode)("select",{name:o.name,"onUpdate:modelValue":t[0]||(t[0]=e=>p.countyValue=e),id:""},[r,((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(p.counties,(e=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:e,value:e},(0,n.toDisplayString)(e),9,a)))),128))],8,u),[[n.vModelSelect,p.countyValue]]),(0,n.withDirectives)((0,n.createElementVNode)("select",{name:o.name,"onUpdate:modelValue":t[1]||(t[1]=e=>p.cityValue=e),id:""},[s,((0,n.openBlock)(!0),(0,n.createElementBlock)(n.Fragment,null,(0,n.renderList)(p.counties,(e=>((0,n.openBlock)(),(0,n.createElementBlock)("option",{key:e,value:e},(0,n.toDisplayString)(e),9,d)))),128))],8,l),[[n.vModelSelect,p.cityValue]])])}var f=o(8),y={props:{name:{type:String,default:"county"},defaultFirst:{type:Boolean,default:!1},city:{type:String,default:""},county:{type:String,default:""}},watch:{countyValue(){this.defaultFirst&&(this.cityValue=this.cities[0]),this.handleChange()},cityValue(){this.handleChange()}},data(){return{counties:f.counties,countyValue:"",cityValue:""}},computed:{cities(){return this.countyValue?f.zipcodes.filter((e=>e.county===this.countyValue)).map((e=>e.city)):[]},zipcodeValue(){return f.zipcodes.filter((e=>e.county===this.countyValue)).find((e=>e.city===this.cityValue)).zipcode}},created(){this.countyValue=this.county,this.cityValue=this.city,this.defaultFirst&&!this.county&&(this.countyValue=f.counties[0])},methods:{handleChange(){this.$emit("change",{county:this.countyValue,city:this.cityValue,zipcode:this.zipcodeValue})}}},h=o(82);const m=(0,h.Z)(y,[["render",p]]);var v=m;v.install=function(e){e.component("vue-address",v)};var V=v,g=V}(),i}()})); //# sourceMappingURL=vue-address.umd.min.js.map