Commit cb6418ac5ed418fd169a3b6e92098318b4ac77a0

Authored by 梁灏
1 parent 8409abb8

fixed #721

examples/routers/checkbox.vue
1 1 <template>
2 2 <div>
3 3 <Checkbox-group v-model="fruit">
4   - <Checkbox v-for="item in tags" :label="item.label"></Checkbox>
  4 + <Checkbox v-for="item in tags" :label="item.label" :key="item"></Checkbox>
5 5 </Checkbox-group>
6 6 <div>{{ fruit }}</div>
7 7 </div>
... ...
examples/routers/dropdown.vue
  1 +<!--<template>-->
  2 + <!--<Row>-->
  3 + <!--<i-col span="8">-->
  4 + <!--<Card>-->
  5 + <!--<Dropdown @on-click="handleClick">-->
  6 + <!--<a href="javascript:void(0)">-->
  7 + <!--下拉菜单-->
  8 + <!--<Icon type="arrow-down-b"></Icon>-->
  9 + <!--</a>-->
  10 + <!--<Dropdown-menu slot="list">-->
  11 + <!--<Dropdown-item name="1">驴打滚</Dropdown-item>-->
  12 + <!--<Dropdown-item name="2">炸酱面</Dropdown-item>-->
  13 + <!--<Dropdown-item name="3" disabled>豆汁儿</Dropdown-item>-->
  14 + <!--<Dropdown-item name="4">冰糖葫芦</Dropdown-item>-->
  15 + <!--<Dropdown-item name="5" divided>北京烤鸭</Dropdown-item>-->
  16 + <!--</Dropdown-menu>-->
  17 + <!--</Dropdown>-->
  18 + <!--</Card>-->
  19 + <!--</i-col>-->
  20 + <!--</Row>-->
  21 +<!--</template>-->
  22 +<!--<script>-->
  23 + <!--export default {-->
  24 + <!--methods: {-->
  25 + <!--handleClick (val) {-->
  26 + <!--console.log(val)-->
  27 + <!--}-->
  28 + <!--}-->
  29 + <!--}-->
  30 +<!--</script>-->
  31 +
1 32 <template>
2   - <div>
3   - <Dropdown @on-click="handleClick">
4   - <a href="javascript:void(0)">
5   - 下拉菜单
6   - <Icon type="arrow-down-b"></Icon>
7   - </a>
8   - <Dropdown-menu slot="list">
9   - <Dropdown-item name="1">驴打滚</Dropdown-item>
10   - <Dropdown-item name="2">炸酱面</Dropdown-item>
11   - <Dropdown-item name="3" disabled>豆汁儿</Dropdown-item>
12   - <Dropdown-item name="4">冰糖葫芦</Dropdown-item>
13   - <Dropdown-item name="5" divided>北京烤鸭</Dropdown-item>
14   - </Dropdown-menu>
15   - </Dropdown>
16   - </div>
  33 + <Table border :context="self" :columns="columns7" :data="data6"></Table>
17 34 </template>
18 35 <script>
19 36 export default {
  37 + data () {
  38 + return {
  39 + self: this,
  40 + columns7: [
  41 + {
  42 + title: '姓名',
  43 + key: 'name',
  44 + render (row, column, index) {
  45 + return `<Dropdown @on-click="change"><a href="javascript:void(0)">下拉菜单<Icon type="arrow-down-b"></Icon></a><Dropdown-menu slot="list"><Dropdown-item name="1">驴打滚</Dropdown-item><Dropdown-item name="2">炸酱面</Dropdown-item><Dropdown-item disabled name="3">豆汁儿</Dropdown-item><Dropdown-item>冰糖葫芦</Dropdown-item><Dropdown-item divided>北京烤鸭</Dropdown-item></Dropdown-menu></Dropdown>`;
  46 + }
  47 + }
  48 + ],
  49 + data6: [
  50 + {
  51 + name: '王小明',
  52 + age: 18,
  53 + address: '北京市朝阳区芍药居'
  54 + }
  55 + ]
  56 + }
  57 + },
20 58 methods: {
21   - handleClick (val) {
22   - console.log(val)
  59 + change (s) {
  60 + console.log(s)
23 61 }
24 62 }
25 63 }
... ...
src/components/dropdown/dropdown.vue
... ... @@ -13,7 +13,7 @@
13 13 <script>
14 14 import Drop from '../select/dropdown.vue';
15 15 import clickoutside from '../../directives/clickoutside';
16   - import { oneOf } from '../../utils/assist';
  16 + import { oneOf, findComponentUpward } from '../../utils/assist';
17 17  
18 18 const prefixCls = 'ivu-dropdown';
19 19  
... ... @@ -99,8 +99,9 @@
99 99 this.currentVisible = false;
100 100 },
101 101 hasParent () {
102   - const $parent = this.$parent.$parent.$parent;
103   - if ($parent && $parent.$options.name === 'Dropdown') {
  102 +// const $parent = this.$parent.$parent.$parent;
  103 + const $parent = findComponentUpward(this, 'Dropdown');
  104 + if ($parent) {
104 105 return $parent;
105 106 } else {
106 107 return false;
... ...