dvant
Version:
A Vue.js 2.0 Mobile UI at dawnwin modified from Youzan
59 lines (48 loc) • 2.22 kB
JavaScript
;
exports.__esModule = true;
var _button = require('../button');
var _button2 = _interopRequireDefault(_button);
var _utils = require('../utils');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = (0, _utils.create)({
render: function render() {
var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('div', { staticClass: "van-submit-bar" }, [_c('div', { directives: [{ name: "show", rawName: "v-show", value: _vm.tip || _vm.$slots.tip, expression: "tip || $slots.tip" }], staticClass: "van-submit-bar__tip" }, [_vm._v("\n " + _vm._s(_vm.tip)), _vm._t("tip")], 2), _c('div', { staticClass: "van-submit-bar__bar" }, [_vm._t("default"), _c('div', { staticClass: "van-submit-bar__price" }, [_vm.hasPrice ? [_c('span', { staticClass: "van-submit-bar__price-text" }, [_vm._v(_vm._s(_vm.label || _vm.$t('label')))]), _c('span', { staticClass: "van-submit-bar__price-interger" }, [_vm._v(_vm._s(_vm.currency) + _vm._s(_vm.priceInterger) + ".")]), _c('span', { staticClass: "van-submit-bar__price-decimal" }, [_vm._v(_vm._s(_vm.priceDecimal))])] : _vm._e()], 2), _c('van-button', { attrs: { "type": _vm.buttonType, "disabled": _vm.disabled, "loading": _vm.loading }, on: { "click": _vm.onSubmit } }, [_vm._v("\n " + _vm._s(_vm.loading ? '' : _vm.buttonText) + "\n ")])], 2)]);
},
name: 'van-submit-bar',
components: {
VanButton: _button2.default
},
props: {
tip: String,
type: Number,
currency: String,
price: Number,
label: String,
loading: Boolean,
disabled: Boolean,
buttonText: String,
buttonType: {
type: String,
default: 'danger'
}
},
computed: {
hasPrice: function hasPrice() {
return typeof this.price === 'number';
},
priceInterger: function priceInterger() {
return Math.floor(this.price / 100);
},
priceDecimal: function priceDecimal() {
var decimal = this.price % 100;
return (decimal < 10 ? '0' : '') + decimal;
}
},
methods: {
onSubmit: function onSubmit() {
if (!this.disabled && !this.loading) {
this.$emit('submit');
}
}
}
});