39 lines
1012 B
JavaScript
39 lines
1012 B
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()]);
|
|
}
|
|
}); |