vue项目中el-tree 支持横向和纵向滚动条设置
vue项目中el-tree 支持横向和纵向滚动条设置,如下所示。①纵向滚动条容易设置,只需要在el-tree组件中设置height即可②横向滚动条稍微复杂,如下代码<template><div class="tree-scroll"><el-input style="width: 180px;margin-top: 10px"...
·
vue项目中el-tree 支持横向和纵向滚动条设置,如下所示。
①纵向滚动条容易设置,只需要在el-tree组件中设置height即可
②横向滚动条稍微复杂,如下代码
<template>
<div class="tree-scroll">
<el-input style="width: 180px;margin-top: 10px"
placeholder="输入关键字进行过滤"
v-model="filterText">
</el-input>
<el-tree
class="flow-tree"
:data="data2"
:props="defaultProps"
default-expand-all
:filter-node-method="filterNode"
ref="tree2">
</el-tree>
</div>
</template>
<script>
export default {
name: "TreeScroll",
watch: {
filterText(val) {
this.$refs.tree2.filter(val);
}
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data.label.indexOf(value) !== -1;
}
},
data() {
return {
filterText: '',
data2: [{
id: 1,
label: '一级 1',
children: [{
id: 4,
label: '二级 1-1',
children: [{
id: 9,
label: '三级 1-1-1'
}, {
id: 10,
label: '三级 1-1-2'
}]
}]
}, {
id: 2,
label: '一级 2',
children: [{
id: 5,
label: '二级 2-1'
}, {
id: 6,
label: '二级 2-2'
}]
}, {
id: 3,
label: '一级 3',
children: [{
id: 7,
label: '二级 3-1'
}, {
id: 8,
label: '二级 3-2滚动条滚动条二级 3-2滚动条滚动条'
}]
}, {
id: 4,
label: '一级 4',
children: [{
id: 71,
label: '二级 4-1'
}, {
id: 81,
label: '二级 4-2滚动条滚动条二级 3-2滚动条滚动条'
}]
}, {
id: 5,
label: '一级 5',
children: [{
id: 711,
label: '二级 5-1'
}, {
id: 811,
label: '二级 5-2滚动条滚动条二级 3-2滚动条滚动条'
}]
}, {
id: 6,
label: '一级 6',
children: [{
id: 7116,
label: '二级 5-1'
}, {
id: 8116,
label: '二级 5-2滚动条滚动条二级 3-2滚动条滚动条'
}]
}],
defaultProps: {
children: 'children',
label: 'label'
}
};
}
}
</script>
<style scoped lang="stylus">
.tree-scroll{
width 200px
border 1px solid #E7E7E7
height 100%
}
.flow-tree{
overflow auto
height 300px
margin 10px
>>>.el-tree-node{
> .el-tree-node__children{
overflow visible !important
}
}
}
</style>
说明:
(1)在el-tree组件中定义 class元素class=“flow-tree”
(2)在class 样式中写如下代码即可。
.flow-tree{
overflow auto;
flex 1
height 300px
margin 10px
>>>.el-tree-node{
> .el-tree-node__children{
overflow visible !important
}
}
}
其他说明:el-tree 中写的样式中overflow为hidden
.el-tree-node__children{
overflow hidden
}
对overflow的认识:
定义和用法
overflow 属性规定当内容溢出元素框时发生的事情。
说明
这个属性定义溢出元素内容区的内容会如何处理。如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。
可能的值
值 | 描述 |
---|---|
visible 默认值。 | 内容不会被修剪,会呈现在元素框之外。 |
hidden | 内容会被修剪,并且其余内容是不可见的。 |
scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 |
auto | 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。 |
inherit | 规定应该从父元素继承 overflow 属性的值。 |
更多推荐
已为社区贡献4条内容
所有评论(0)