2016-11-15 10:43:00 +08:00
|
|
|
<template>
|
2016-11-15 11:24:28 +08:00
|
|
|
<div :class="[prefixCls]">
|
|
|
|
<i-input
|
|
|
|
readonly
|
|
|
|
:disabled="disabled"
|
|
|
|
:value.sync="displayRender"
|
|
|
|
:size="size"
|
|
|
|
:placeholder="placeholder"></i-input>
|
|
|
|
</div>
|
2016-11-15 10:43:00 +08:00
|
|
|
</template>
|
|
|
|
<script>
|
2016-11-15 11:24:28 +08:00
|
|
|
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';
|
|
|
|
|
2016-11-15 10:43:00 +08:00
|
|
|
export default {
|
|
|
|
props: {
|
2016-11-15 11:24:28 +08:00
|
|
|
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('/');
|
|
|
|
}
|
|
|
|
}
|
2016-11-15 10:43:00 +08:00
|
|
|
},
|
|
|
|
data () {
|
|
|
|
return {
|
2016-11-15 11:24:28 +08:00
|
|
|
prefixCls: prefixCls,
|
|
|
|
selected: []
|
2016-11-15 10:43:00 +08:00
|
|
|
}
|
|
|
|
},
|
|
|
|
computed: {
|
2016-11-15 11:24:28 +08:00
|
|
|
displayRender () {
|
|
|
|
let label = [];
|
|
|
|
for (let i = 0; i < this.selected.length; i++) {
|
|
|
|
label.push(this.selected[i].label);
|
|
|
|
}
|
|
|
|
|
|
|
|
return this.renderFormat(label);
|
|
|
|
}
|
2016-11-15 10:43:00 +08:00
|
|
|
},
|
|
|
|
methods: {
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
</script>
|