Blame view

src/components/cascader/cascader.vue 2.14 KB
0a48ac45   梁灏   Input add readonl...
1
  <template>
6ff31952   梁灏   optimize Input sh...
2
3
4
5
6
7
8
9
      <div :class="[prefixCls]">
          <i-input
              readonly
              :disabled="disabled"
              :value.sync="displayRender"
              :size="size"
              :placeholder="placeholder"></i-input>
      </div>
0a48ac45   梁灏   Input add readonl...
10
11
  </template>
  <script>
6ff31952   梁灏   optimize Input sh...
12
13
14
15
16
17
18
      import iInput from '../input/input.vue';
      import Dropdown from '../select/dropdown.vue';
      import clickoutside from '../../directives/clickoutside';
      import { oneOf, MutationObserver } from '../../utils/assist';
  
      const prefixCls = 'ivu-cascader';
  
0a48ac45   梁灏   Input add readonl...
19
20
      export default {
          props: {
6ff31952   梁灏   optimize Input sh...
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
              data: {
                  type: Array,
                  default () {
                      return []
                  }
              },
              value: {
                  type: Array
              },
              disabled: {
                  type: Boolean,
                  default: false
              },
              clearable: {
                  type: Boolean,
                  default: false
              },
              placeholder: {
                  type: String,
                  default: '请选择'
              },
              size: {
                  validator (value) {
                      return oneOf(value, ['small', 'large']);
                  }
              },
              trigger: {
                  validator (value) {
                      return oneOf(value, ['click', 'hover']);
                  },
                  default: 'click'
              },
              changeOnSelect: {
                  type: Boolean,
                  default: false
              },
              renderFormat: {
                  type: Function,
                  default: (label, selectedData) => {
                      label.join('/');
                  }
              }
0a48ac45   梁灏   Input add readonl...
63
64
65
          },
          data () {
              return {
6ff31952   梁灏   optimize Input sh...
66
67
                  prefixCls: prefixCls,
                  selected: []
0a48ac45   梁灏   Input add readonl...
68
69
70
              }
          },
          computed: {
6ff31952   梁灏   optimize Input sh...
71
72
73
74
75
76
77
78
              displayRender () {
                  let label = [];
                  for (let i = 0; i < this.selected.length; i++) {
                      label.push(this.selected[i].label);
                  }
  
                  return this.renderFormat(label);
              }
0a48ac45   梁灏   Input add readonl...
79
80
81
82
83
84
          },
          methods: {
          
          }
      }
  </script>