ab8aaf95
梁灏
add Dropdown comp...
|
1
2
3
4
5
6
7
|
<template>
<li :class="classes" @click="handleClick"><slot></slot></li>
</template>
<script>
const prefixCls = 'ivu-dropdown-item';
export default {
|
b1c118d8
梁灏
support Dropdown
|
8
|
name: 'DropdownItem',
|
ab8aaf95
梁灏
add Dropdown comp...
|
9
|
props: {
|
b1c118d8
梁灏
support Dropdown
|
10
|
name: {
|
ab8aaf95
梁灏
add Dropdown comp...
|
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
type: [String, Number]
},
disabled: {
type: Boolean,
default: false
},
selected: {
type: Boolean,
default: false
},
divided: {
type: Boolean,
default: false
}
},
computed: {
classes () {
return [
`${prefixCls}`,
{
[`${prefixCls}-disabled`]: this.disabled,
[`${prefixCls}-selected`]: this.selected,
[`${prefixCls}-divided`]: this.divided
}
|
b0893113
jingsam
add eslint
|
35
|
];
|
ab8aaf95
梁灏
add Dropdown comp...
|
36
37
38
39
|
}
},
methods: {
handleClick () {
|
b1c118d8
梁灏
support Dropdown
|
40
|
const $parent = this.$parent.$parent.$parent;
|
6b71ba94
梁灏
update Dropdown
|
41
|
const hasChildren = this.$parent && this.$parent.$options.name === 'Dropdown';
|
407eabd5
梁灏
update Dropdown
|
42
|
|
ab8aaf95
梁灏
add Dropdown comp...
|
43
44
|
if (this.disabled) {
this.$nextTick(() => {
|
2d74744d
梁灏
update Dropdown
|
45
|
$parent.currentVisible = true;
|
ab8aaf95
梁灏
add Dropdown comp...
|
46
|
});
|
6b71ba94
梁灏
update Dropdown
|
47
48
|
} else if (hasChildren) {
this.$parent.$emit('on-haschild-click');
|
ab8aaf95
梁灏
add Dropdown comp...
|
49
|
} else {
|
6b71ba94
梁灏
update Dropdown
|
50
|
if ($parent && $parent.$options.name === 'Dropdown') {
|
5557dd66
梁灏
update Dropdown
|
51
|
$parent.$emit('on-hover-click');
|
79633f3c
梁灏
update Dropdown
|
52
|
}
|
ab8aaf95
梁灏
add Dropdown comp...
|
53
|
}
|
b1c118d8
梁灏
support Dropdown
|
54
|
$parent.$emit('on-click', this.name);
|
ab8aaf95
梁灏
add Dropdown comp...
|
55
56
|
}
}
|
b0893113
jingsam
add eslint
|
57
58
|
};
</script>
|