index.vue 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <template>
  2. <uni-shadow-root class="vant-badge-index"><view :class="(utils.bem('badge', { active }))+' van-hairline custom-class'" hover-class="van-badge--hover" hover-stay-time="70" @click="onClick">
  3. <view class="van-badge__text">
  4. <van-info v-if="info !== null" :info="info" custom-style="right: 4px"></van-info>
  5. {{ title }}
  6. </view>
  7. </view></uni-shadow-root>
  8. </template>
  9. <wxs src="../wxs/utils.wxs" module="utils"></wxs>
  10. <script>
  11. import VanInfo from '../info/index.vue'
  12. global['__wxVueOptions'] = {components:{'van-info': VanInfo}}
  13. global['__wxRoute'] = 'vant/badge/index'
  14. "use strict";
  15. Object.defineProperty(exports, "__esModule", { value: true });
  16. var component_1 = require('./../common/component.js');
  17. component_1.VantComponent({
  18. relation: {
  19. type: 'ancestor',
  20. name: 'badge-group',
  21. linked: function linked(target) {
  22. this.parent = target;
  23. }
  24. },
  25. props: {
  26. info: null,
  27. title: String
  28. },
  29. methods: {
  30. onClick: function onClick() {
  31. var _this = this;
  32. var parent = this.parent;
  33. if (!parent) {
  34. return;
  35. }
  36. var index = parent.badges.indexOf(this);
  37. parent.setActive(index).then(function () {
  38. _this.$emit('click', index);
  39. parent.$emit('change', index);
  40. });
  41. },
  42. setActive: function setActive(active) {
  43. return this.set({ active: active });
  44. }
  45. }
  46. });
  47. //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImluZGV4LmpzIl0sIm5hbWVzIjpbIk9iamVjdCIsInZhbHVlIiwiY29tcG9uZW50XzEiLCJyZXF1aXJlIiwicmVsYXRpb24iLCJ0eXBlIiwibmFtZSIsImxpbmtlZCIsInByb3BzIiwiaW5mbyIsInRpdGxlIiwiU3RyaW5nIiwibWV0aG9kcyIsIm9uQ2xpY2siLCJfdGhpcyIsInBhcmVudCIsImluZGV4Iiwic2V0QWN0aXZlIiwiYWN0aXZlIl0sIm1hcHBpbmdzIjoiOztBQUNBQSxPQUFBQSxjQUFBQSxDQUFBQSxPQUFBQSxFQUFBQSxZQUFBQSxFQUE2QyxFQUFFQyxPQUEvQ0QsSUFBNkMsRUFBN0NBO0FBQ0EsSUFBSUUsY0FBY0MsUUFBbEIsMEJBQWtCQSxDQUFsQjtBQUNBRCxZQUFBQSxhQUFBQSxDQUEwQjtBQUN0QkUsY0FBVTtBQUNOQyxjQURNLFVBQUE7QUFFTkMsY0FGTSxhQUFBO0FBR05DLGdCQUFRLFNBQUEsTUFBQSxDQUFBLE1BQUEsRUFBa0I7QUFDdEIsaUJBQUEsTUFBQSxHQUFBLE1BQUE7QUFDSDtBQUxLLEtBRFk7QUFRdEJDLFdBQU87QUFDSEMsY0FERyxJQUFBO0FBRUhDLGVBQU9DO0FBRkosS0FSZTtBQVl0QkMsYUFBUztBQUNMQyxpQkFBUyxTQUFBLE9BQUEsR0FBWTtBQUNqQixnQkFBSUMsUUFBSixJQUFBO0FBQ0EsZ0JBQUlDLFNBQVMsS0FBYixNQUFBO0FBQ0EsZ0JBQUksQ0FBSixNQUFBLEVBQWE7QUFDVDtBQUNIO0FBQ0QsZ0JBQUlDLFFBQVFELE9BQUFBLE1BQUFBLENBQUFBLE9BQUFBLENBQVosSUFBWUEsQ0FBWjtBQUNBQSxtQkFBQUEsU0FBQUEsQ0FBQUEsS0FBQUEsRUFBQUEsSUFBQUEsQ0FBNkIsWUFBWTtBQUNyQ0Qsc0JBQUFBLEtBQUFBLENBQUFBLE9BQUFBLEVBQUFBLEtBQUFBO0FBQ0FDLHVCQUFBQSxLQUFBQSxDQUFBQSxRQUFBQSxFQUFBQSxLQUFBQTtBQUZKQSxhQUFBQTtBQVJDLFNBQUE7QUFhTEUsbUJBQVcsU0FBQSxTQUFBLENBQUEsTUFBQSxFQUFrQjtBQUN6QixtQkFBTyxLQUFBLEdBQUEsQ0FBUyxFQUFFQyxRQUFsQixNQUFnQixFQUFULENBQVA7QUFDSDtBQWZJO0FBWmEsQ0FBMUJoQiIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIGNvbXBvbmVudF8xID0gcmVxdWlyZShcIi4uL2NvbW1vbi9jb21wb25lbnRcIik7XG5jb21wb25lbnRfMS5WYW50Q29tcG9uZW50KHtcbiAgICByZWxhdGlvbjoge1xuICAgICAgICB0eXBlOiAnYW5jZXN0b3InLFxuICAgICAgICBuYW1lOiAnYmFkZ2UtZ3JvdXAnLFxuICAgICAgICBsaW5rZWQ6IGZ1bmN0aW9uICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHRoaXMucGFyZW50ID0gdGFyZ2V0O1xuICAgICAgICB9XG4gICAgfSxcbiAgICBwcm9wczoge1xuICAgICAgICBpbmZvOiBudWxsLFxuICAgICAgICB0aXRsZTogU3RyaW5nXG4gICAgfSxcbiAgICBtZXRob2RzOiB7XG4gICAgICAgIG9uQ2xpY2s6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIHZhciBfdGhpcyA9IHRoaXM7XG4gICAgICAgICAgICB2YXIgcGFyZW50ID0gdGhpcy5wYXJlbnQ7XG4gICAgICAgICAgICBpZiAoIXBhcmVudCkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBpbmRleCA9IHBhcmVudC5iYWRnZXMuaW5kZXhPZih0aGlzKTtcbiAgICAgICAgICAgIHBhcmVudC5zZXRBY3RpdmUoaW5kZXgpLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIF90aGlzLiRlbWl0KCdjbGljaycsIGluZGV4KTtcbiAgICAgICAgICAgICAgICBwYXJlbnQuJGVtaXQoJ2NoYW5nZScsIGluZGV4KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICBzZXRBY3RpdmU6IGZ1bmN0aW9uIChhY3RpdmUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldCh7IGFjdGl2ZTogYWN0aXZlIH0pO1xuICAgICAgICB9XG4gICAgfVxufSk7XG4iXSwiZmlsZSI6ImluZGV4LmpzIn0=
  48. export default global['__wxComponents']['vant/badge/index']
  49. </script>
  50. <style platform="mp-weixin">
  51. @import '../common/index.css';.van-badge{display:block;padding:20px 12px 20px 9px;overflow:hidden;font-size:14px;line-height:1.4;color:#7d7e80;word-break:break-all;background-color:#f8f8f8;border-left:3px solid transparent;box-sizing:border-box;-webkit-user-select:none;user-select:none}.van-badge--hover{background-color:#f2f3f5}.van-badge:after{border-bottom-width:1px}.van-badge--active{font-weight:700;color:#333;border-color:#f44}.van-badge--active:after{border-right-width:1px}.van-badge--active,.van-badge--active.van-badge--hover{background-color:#fff}.van-badge__text{position:relative}
  52. </style>