index.js 717 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. import { use } from '../utils';
  2. const [sfc, bem] = use('collapse');
  3. export default sfc({
  4. props: {
  5. accordion: Boolean,
  6. value: [String, Number, Array],
  7. border: {
  8. type: Boolean,
  9. default: true
  10. }
  11. },
  12. data() {
  13. return {
  14. items: []
  15. };
  16. },
  17. methods: {
  18. switch(name, expanded) {
  19. if (!this.accordion) {
  20. name = expanded
  21. ? this.value.concat(name)
  22. : this.value.filter(activeName => activeName !== name);
  23. }
  24. this.$emit('change', name);
  25. this.$emit('input', name);
  26. }
  27. },
  28. render(h) {
  29. return (
  30. <div class={[bem(), { 'van-hairline--top-bottom': this.border }]}>
  31. {this.slots()}
  32. </div>
  33. );
  34. }
  35. });