captain-ui
Version:
有赞vue wap业务组件库
83 lines (74 loc) • 1.84 kB
JavaScript
import "vant/es/area/style";
import _Area from "vant/es/area";
var _components;
import CommonUrl from '../../common/url';
import Api from './api/area';
export default {
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
staticClass: "cap-area"
}, [_c('van-area', {
attrs: {
"area-list": _vm.curAreaList,
"columns-num": _vm.columnsNum,
"value": _vm.value
},
on: {
"confirm": _vm.handleAreaConfirm,
"cancel": _vm.handleAreaCancel
}
})], 1);
},
name: 'cap-area',
components: (_components = {}, _components[_Area.name] = _Area, _components),
props: {
value: String,
areaList: Object,
requestAreaList: {
type: Function,
default: Api.requestAreaList
},
url: {
type: String,
default: CommonUrl.pc + '/v2/common/region/all.jsonp'
},
/**
* 省市县显示列数,3-省市县,2-省市,1-省
*/
columnsNum: {
type: [String, Number],
default: 3
}
},
data: function data() {
return {
curAreaList: this.areaList
};
},
created: function created() {
var areaList = this.areaList;
if (areaList && typeof areaList.province_list === 'object') {
return;
}
this.getAreaList();
},
methods: {
getAreaList: function getAreaList() {
var _this = this;
this.requestAreaList(this.url).then(function (areaList) {
_this.curAreaList = areaList;
}).catch(function (res) {
_this.$emit('error', res);
});
},
handleAreaConfirm: function handleAreaConfirm(values) {
this.$emit('confirm', values);
},
handleAreaCancel: function handleAreaCancel() {
this.$emit('cancel');
}
}
};