vant-fork
Version:
Lightweight Mobile UI Components built on Vue
92 lines (82 loc) • 2.29 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _icon = _interopRequireDefault(require("../icon"));
var _routerLink = _interopRequireDefault(require("../mixins/router-link"));
var _createBasic = _interopRequireDefault(require("../utils/create-basic"));
var _default = (0, _createBasic.default)({
render: function render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
class: [_vm.b({
center: _vm.center,
required: _vm.required,
clickable: _vm.isLink || _vm.clickable
}), {
'van-hairline': _vm.border
}],
on: {
"click": _vm.onClick
}
}, [_vm._t("icon", [_vm.icon ? _c('icon', {
class: _vm.b('left-icon'),
attrs: {
"name": _vm.icon
}
}) : _vm._e()]), _vm.isDef(_vm.title) || _vm.$slots.title ? _c('div', {
class: _vm.b('title')
}, [_vm._t("title", [_c('span', {
domProps: {
"textContent": _vm._s(_vm.title)
}
}), _vm.label ? _c('div', {
class: _vm.b('label'),
domProps: {
"textContent": _vm._s(_vm.label)
}
}) : _vm._e()])], 2) : _vm._e(), _vm.isDef(_vm.value) || _vm.$slots.default ? _c('div', {
class: _vm.b('value', {
alone: !_vm.$slots.title && !_vm.title
})
}, [_vm._t("default", [_c('span', {
domProps: {
"textContent": _vm._s(_vm.value)
}
})])], 2) : _vm._e(), _vm._t("right-icon", [_vm.isLink ? _c('icon', {
class: _vm.b('right-icon', _vm.arrowDirection),
attrs: {
"name": "arrow"
}
}) : _vm._e()]), _vm._t("extra")], 2);
},
name: 'cell',
components: {
Icon: _icon.default
},
mixins: [_routerLink.default],
props: {
icon: String,
label: String,
center: Boolean,
isLink: Boolean,
required: Boolean,
clickable: Boolean,
title: [String, Number],
value: [String, Number],
arrowDirection: String,
border: {
type: Boolean,
default: true
}
},
methods: {
onClick: function onClick() {
this.$emit('click');
this.routerLink();
}
}
});
exports.default = _default;