diff --git a/packages/tree-select/index.js b/packages/tree-select/index.js new file mode 100644 index 000000000..bd6b981bd --- /dev/null +++ b/packages/tree-select/index.js @@ -0,0 +1,100 @@ +import { use } from '../utils'; +import Icon from '../icon'; + +const [sfc, bem] = use('tree-select'); + +export default sfc({ + props: { + items: Array, + mainActiveIndex: Number, + activeId: { + type: [Number, String], + default: 0 + }, + height: { + type: Number, + default: 300 + } + }, + + computed: { + subItems() { + const selectedItem = this.items[this.mainActiveIndex] || {}; + return selectedItem.children || []; + } + }, + + methods: { + onClickNav(data, index) { + if (!data.disabled) { + this.$emit('navclick', index); + } + }, + + onItemSelect(data) { + if (!data.disabled) { + this.$emit('itemclick', data); + } + } + }, + + render(h) { + const { + height, + items, + mainActiveIndex, + activeId, + subItems + } = this; + + return ( +