dvant
Version:
A Vue.js 2.0 Mobile UI at dawnwin modified from Youzan
45 lines (36 loc) • 1.79 kB
JavaScript
;
exports.__esModule = true;
var _utils = require('../utils');
var STYLE_LIST = ['success', 'fail', 'loading'];
exports.default = (0, _utils.create)({
render: function render() {
var _vm = this;var _h = _vm.$createElement;var _c = _vm._self._c || _h;return _c('transition', { attrs: { "name": "van-fade" } }, [_c('div', { directives: [{ name: "show", rawName: "v-show", value: _vm.visible, expression: "visible" }], staticClass: "van-toast-wrapper" }, [_c('div', { staticClass: "van-toast", class: ["van-toast--" + _vm.displayStyle, "van-toast--" + _vm.position] }, [_vm.displayStyle === 'text' ? _c('div', [_vm._v(_vm._s(_vm.message))]) : _vm._e(), _vm.displayStyle === 'html' ? _c('div', { domProps: { "innerHTML": _vm._s(_vm.message) } }) : _vm._e(), _vm.displayStyle === 'default' ? [_vm.type === 'loading' ? _c('loading', { attrs: { "color": "white" } }) : _c('icon', { staticClass: "van-toast__icon", attrs: { "name": _vm.type } }), _vm.hasMessage ? _c('div', { staticClass: "van-toast__text" }, [_vm._v(_vm._s(_vm.message))]) : _vm._e()] : _vm._e()], 2), _vm.forbidClick || _vm.mask ? _c('div', { staticClass: "van-toast__overlay", class: { 'van-toast__overlay--mask': _vm.mask } }) : _vm._e()])]);
},
name: 'van-toast',
props: {
mask: Boolean,
message: [String, Number],
forbidClick: Boolean,
type: {
type: String,
default: 'text'
},
position: {
type: String,
default: 'middle'
}
},
data: function data() {
return {
visible: false
};
},
computed: {
displayStyle: function displayStyle() {
return STYLE_LIST.indexOf(this.type) !== -1 ? 'default' : this.type;
},
hasMessage: function hasMessage() {
return this.message || this.message === 0;
}
}
});