1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
| import _extends from "@babel/runtime/helpers/esm/extends";
| import { createNamespace } from '../utils';
| import { route, routeProps } from '../utils/router';
| import { ChildrenMixin } from '../mixins/relation';
| import Info from '../info';
| import Icon from '../icon';
|
| var _createNamespace = createNamespace('goods-action-icon'),
| createComponent = _createNamespace[0],
| bem = _createNamespace[1];
|
| export default createComponent({
| mixins: [ChildrenMixin('vanGoodsAction')],
| props: _extends({}, routeProps, {
| dot: Boolean,
| text: String,
| icon: String,
| color: String,
| // @deprecated
| info: [Number, String],
| badge: [Number, String],
| iconClass: null
| }),
| methods: {
| onClick: function onClick(event) {
| this.$emit('click', event);
| route(this.$router, this);
| },
| genIcon: function genIcon() {
| var _this$badge;
|
| var h = this.$createElement;
| var slot = this.slots('icon');
| var info = (_this$badge = this.badge) != null ? _this$badge : this.info;
|
| if (process.env.NODE_ENV === 'development' && this.info) {
| console.warn('[Vant] GoodsActionIcon: "info" prop is deprecated, use "badge" prop instead.');
| }
|
| if (slot) {
| return h("div", {
| "class": bem('icon')
| }, [slot, h(Info, {
| "attrs": {
| "dot": this.dot,
| "info": info
| }
| })]);
| }
|
| return h(Icon, {
| "class": [bem('icon'), this.iconClass],
| "attrs": {
| "tag": "div",
| "dot": this.dot,
| "name": this.icon,
| "badge": info,
| "color": this.color
| }
| });
| }
| },
| render: function render() {
| var h = arguments[0];
| return h("div", {
| "attrs": {
| "role": "button",
| "tabindex": "0"
| },
| "class": bem(),
| "on": {
| "click": this.onClick
| }
| }, [this.genIcon(), this.slots() || this.text]);
| }
| });
|
|