admin
2020-12-08 7f2d1daf6af6ecebad84d80de46a0e5024bbf5da
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import lifecycle from '../mixins/lifecycle';
Component({
  mixins: [lifecycle],
  data: {
    confirmStyle: ''
  },
  props: {
    className: '',
    item: '',
    id: '',
    value: '',
    selected: false,
    subtitle: '',
    onChange: function onChange() {}
  },
  didMount: function didMount() {
    var _this$data = this.data,
        results = _this$data.results,
        items = _this$data.items;
    var _this$props = this.props,
        selected = _this$props.selected,
        id = _this$props.id,
        value = _this$props.value;
 
    if (selected) {
      results.push({
        id: id,
        value: value
      });
      items.push({
        id: id,
        value: value,
        setData: this.setData
      });
      this.setData({
        confirmStyle: true
      });
    }
  },
  methods: {
    handleClick: function handleClick() {
      var _this$props2 = this.props,
          id = _this$props2.id,
          value = _this$props2.value,
          onChange = _this$props2.onChange;
      var confirmStyle = this.data.confirmStyle;
      var _this$data2 = this.data,
          results = _this$data2.results,
          items = _this$data2.items,
          commonProps = _this$data2.commonProps;
 
      if (commonProps.max === 1) {
        if (confirmStyle === '') {
          items.forEach(function (element) {
            element.setData({
              confirmStyle: ''
            });
          });
          results.splice(0, results.length);
          confirmStyle = true;
          results.push({
            id: id,
            value: value
          });
          items.push({
            id: id,
            value: value,
            setData: this.setData
          });
          onChange(results);
        }
 
        this.setData({
          confirmStyle: confirmStyle
        });
        return;
      }
 
      if (confirmStyle === '' && results.length < commonProps.max) {
        confirmStyle = true;
        results.push({
          id: id,
          value: value
        });
        items.push({
          id: id,
          value: value,
          setData: this.setData
        });
      } else {
        confirmStyle = '';
        results.some(function (key, index) {
          if (JSON.stringify(key) === JSON.stringify({
            id: id,
            value: value
          })) {
            results.splice(index, 1);
            return true;
          } else {
            return false;
          }
        });
      }
 
      this.setData({
        confirmStyle: confirmStyle
      });
    }
  }
});