dialog_pane.vue
1.06 KB
<script lang="ts" setup name="DialogPane">
import { ref, computed } from 'vue'
import SplitPane from '@/components/SplitPane/index.vue'
import Tree from '@/components/Tree/index.vue'
import Table from '@/components/Table/index.vue'
const props = defineProps({
pane: {
type: Object,
default: {}
},
})
const treeInfo = computed(() => {
return props.pane.treeInfo
})
const tableInfo = computed(() => {
return props.pane.tableInfo
})
const paneLengthPercent = ref(20)
const setPaneLengthPercent = (val) => {
paneLengthPercent.value = val
}
</script>
<template>
<div class="dialog_panel_wrap" :style="{ width: props.pane.width, height: props.pane.height }">
<SplitPane :direction="'row'" :min="10" :max="30" :triggerLength="1" :paneLengthPercent="paneLengthPercent"
@setPaneLengthPercent="setPaneLengthPercent">
<template v-slot:one>
<Tree :treeInfo="treeInfo" />
</template>
<template v-slot:two>
<Table :tableInfo="tableInfo" />
</template>
</SplitPane>
</div>
</template>
<style lang="scss" scoped></style>