vant
Version:
Mobile UI Components built on Vue
39 lines (35 loc) • 1.01 kB
JavaScript
import { createNamespace } from '../utils';
import { ParentMixin } from '../mixins/relation';
import { BORDER_TOP_BOTTOM } from '../utils/constant';
var _createNamespace = createNamespace('collapse'),
createComponent = _createNamespace[0],
bem = _createNamespace[1];
export default createComponent({
mixins: [ParentMixin('vanCollapse')],
props: {
accordion: Boolean,
value: [String, Number, Array],
border: {
type: Boolean,
default: true
}
},
methods: {
switch: function _switch(name, expanded) {
if (!this.accordion) {
name = expanded ? this.value.concat(name) : this.value.filter(function (activeName) {
return activeName !== name;
});
}
this.$emit('change', name);
this.$emit('input', name);
}
},
render: function render() {
var _ref;
var h = arguments[0];
return h("div", {
"class": [bem(), (_ref = {}, _ref[BORDER_TOP_BOTTOM] = this.border, _ref)]
}, [this.slots()]);
}
});