bmui
Version:
Bluemoon Moon Components
152 lines (144 loc) • 3.75 kB
JavaScript
import MixinInput from '../mixins/input';
var __render = function __render() {
var _vm = this;
var _h = _vm.$createElement;
var _c = _vm._self._c || _h;
return _c('div', {
staticClass: "bmui-field_btn",
on: {
"click": _vm.mixinInputDoFocus
}
}, [_c('p', {
staticClass: "bmui-field_btn-title"
}, [_vm._v(_vm._s(_vm.title || 'TITLE')), _c('span', {
directives: [{
name: "show",
rawName: "v-show",
value: _vm.isNeed,
expression: "isNeed"
}],
staticClass: "bmui-field_btn-isNeed"
}, [_vm._v("*")])]), _vm._v(" "), _vm.mixinInputProps.type === 'checkbox' ? _c('input', _vm._b({
directives: [{
name: "model",
rawName: "v-model",
value: _vm.valueInside,
expression: "valueInside"
}],
ref: "input",
staticClass: "bmui-field_btn-content",
attrs: {
"placeholder": _vm.placeholder || '请输入',
"type": "checkbox"
},
domProps: {
"checked": Array.isArray(_vm.valueInside) ? _vm._i(_vm.valueInside, null) > -1 : _vm.valueInside
},
on: {
"change": function change($event) {
var $a = _vm.valueInside,
$el = $event.target,
$c = $el.checked ? true : false;
if (Array.isArray($a)) {
var $v = null,
$i = _vm._i($a, $v);
if ($el.checked) {
$i < 0 && (_vm.valueInside = $a.concat([$v]));
} else {
$i > -1 && (_vm.valueInside = $a.slice(0, $i).concat($a.slice($i + 1)));
}
} else {
_vm.valueInside = $c;
}
}
}
}, 'input', _vm.mixinInputProps, false)) : _vm.mixinInputProps.type === 'radio' ? _c('input', _vm._b({
directives: [{
name: "model",
rawName: "v-model",
value: _vm.valueInside,
expression: "valueInside"
}],
ref: "input",
staticClass: "bmui-field_btn-content",
attrs: {
"placeholder": _vm.placeholder || '请输入',
"type": "radio"
},
domProps: {
"checked": _vm._q(_vm.valueInside, null)
},
on: {
"change": function change($event) {
_vm.valueInside = null;
}
}
}, 'input', _vm.mixinInputProps, false)) : _c('input', _vm._b({
directives: [{
name: "model",
rawName: "v-model",
value: _vm.valueInside,
expression: "valueInside"
}],
ref: "input",
staticClass: "bmui-field_btn-content",
attrs: {
"placeholder": _vm.placeholder || '请输入',
"type": _vm.mixinInputProps.type
},
domProps: {
"value": _vm.valueInside
},
on: {
"input": function input($event) {
if ($event.target.composing) {
return;
}
_vm.valueInside = $event.target.value;
}
}
}, 'input', _vm.mixinInputProps, false)), _vm._v(" "), !_vm.status ? _c('button', {
staticClass: "bmui-field_btn-btn",
attrs: {
"type": "button"
},
on: {
"click": function click($event) {
$event.stopPropagation();
return _vm.submit($event);
}
}
}, [_vm._v(_vm._s(_vm.btn || 'BUTTON'))]) : _vm._e(), _vm._v(" "), _vm.status ? _c('i', {
"class": "bmui-field_btn-status-" + _vm.status
}) : _vm._e()]);
};
var __staticRender = [];
export default {
render: __render,
staticRenderFns: __staticRender,
name: 'BmuiFieldBtn',
mixins: [MixinInput],
props: {
title: {
type: String,
"default": ''
},
btn: {
type: String,
"default": ''
},
status: {
type: String,
"default": ''
},
isNeed: {
type: Boolean,
"default": false
}
},
methods: {
submit: function submit() {
this.$emit('submit', this.valueInside);
}
}
};