Commit 7c2ed52c61fa7f1d75ba3bf7e4cefd1f87366b37

Authored by 梁灏
1 parent 67f4d8e7

update Checkbox

when use Checkbox single, can hide default slot
examples/routers/form.vue
... ... @@ -12,6 +12,13 @@
12 12 <Input v-model="formInline.user"></Input>
13 13 </Form-item>
14 14 <Form-item>
  15 + <Transfer
  16 + :data="formInline.data1"
  17 + :target-keys="formInline.targetKeys1"
  18 + :render-format="render1"
  19 + @on-change="handleChange1"></Transfer>
  20 + </Form-item>
  21 + <Form-item>
15 22 <i-button type="primary" @click.native="handleSubmit('formInline')">登录</i-button>
16 23 </Form-item>
17 24 </i-form>
... ... @@ -22,6 +29,8 @@
22 29 data () {
23 30 return {
24 31 formInline: {
  32 + data1: this.getMockData(),
  33 + targetKeys1: this.getTargetKeys(),
25 34 date: new Date(),
26 35 user: '',
27 36 value2: [],
... ... @@ -118,6 +127,32 @@
118 127 },
119 128 handleInput (val) {
120 129 console.log(val)
  130 + },
  131 + getMockData () {
  132 + let mockData = [];
  133 + for (let i = 1; i <= 20; i++) {
  134 + mockData.push({
  135 + key: i.toString(),
  136 + label: '内容' + i,
  137 + description: '内容' + i + '的描述信息',
  138 + disabled: Math.random() * 3 < 1
  139 + });
  140 + }
  141 + return mockData;
  142 + },
  143 + getTargetKeys () {
  144 + return this.getMockData()
  145 + .filter(() => Math.random() * 2 > 1)
  146 + .map(item => item.key);
  147 + },
  148 + render1 (item) {
  149 + return item.label;
  150 + },
  151 + handleChange1 (newTargetKeys, direction, moveKeys) {
  152 + console.log(newTargetKeys);
  153 + console.log(direction);
  154 + console.log(moveKeys);
  155 + this.formInline.targetKeys1 = newTargetKeys;
121 156 }
122 157 }
123 158 }
... ...
src/components/checkbox/checkbox.vue
... ... @@ -18,7 +18,7 @@
18 18 :checked="currentValue"
19 19 @change="change">
20 20 </span>
21   - <slot v-if="showSlot"><span ref="slot">{{ label }}</span></slot>
  21 + <slot><span v-if="showSlot">{{ label }}</span></slot>
22 22 </label>
23 23 </template>
24 24 <script>
... ... @@ -89,7 +89,7 @@
89 89 if (this.parent) this.group = true;
90 90 if (!this.group) {
91 91 this.updateModel();
92   - this.showSlot = this.$slots.default === undefined;
  92 + this.showSlot = this.$slots.default !== undefined;
93 93 }
94 94 },
95 95 methods: {
... ... @@ -103,7 +103,7 @@
103 103 this.$emit('input', checked);
104 104  
105 105 if (this.group) {
106   - this.parent.change(this.model);
  106 + this.$parent.change(this.model);
107 107 } else {
108 108 this.$emit('on-change', checked);
109 109 this.dispatch('FormItem', 'on-form-change', checked);
... ...