captain-ui
Version:
有赞vue wap业务组件库
94 lines (79 loc) • 2.13 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
require("vant/es/area/style");
var _area = _interopRequireDefault(require("vant/es/area"));
var _url = _interopRequireDefault(require("../../common/url"));
var _area2 = _interopRequireDefault(require("./api/area"));
var _components;
var _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.default.name] = _area.default, _components),
props: {
value: String,
areaList: Object,
requestAreaList: {
type: Function,
default: _area2.default.requestAreaList
},
url: {
type: String,
default: _url.default.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');
}
}
};
exports.default = _default;