treeSearch.vue 3.38 KB
// 树结构组件
<template>
    <div class="container">
        <div class="serach">
        </div>
        <div class="tree">
            <div class="box">
                <div>
                    <div class="input-box">
                        <el-input v-model="search" style="width: 158px; height: 36px;" placeholder="请输入"
                            suffix-icon="el-icon-search" @change='handleSearch()'></el-input>
                    </div>
                </div>
                <div class="tree-main">
                    <el-tree :data="data" show-checkbox node-key="id" :default-expanded-keys="[2, 3]"
                        :default-checked-keys="[5]" :props="defaultProps"> 
                    </el-tree>
                </div>
            </div>
        </div>
        <div class="fold" @click="foldAssert()">
            <i class="el-icon-arrow-up"></i>
        </div>
    </div>
</template>
<script>
    export default {
        data() {
            return {
                search: '',
                data: [{
                    id: 1,
                    label: '一级 1',

                }, {
                    id: 2,
                    label: '一级 2',
                    // children: [{
                    //     id: 5,
                    //     label: '二级 2-1'
                    // }, {
                    //     id: 6,
                    //     label: '二级 2-2'
                    // }]
                }],
            }
        },
        mounted() {

        },
        components: {},
        methods: {
            handleSearch() {

            },
            foldAssert() {
                this.$emit('foldAssert');
            }
        }
    }
</script>
<style scoped>
    .container {
        width: 206px;
        /* border: 1px solid red; */
    }

    .serach {
        height: 32px;
        width: 100%;
        background-image: url('../assets/一张图/list_上端.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
    }

    .tree {
        background-image: url('../assets/一张图/list_中端.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
    }

    .tree .box {
        transform: translate(24px, -14px);

    }

    .tree-main {
        margin-top: 26px;
        transform: translateX(-24px);
    }

    .fold {
        background-image: url('../assets/一张图/list_下端.png');
        background-size: 100% 100%;
        background-repeat: no-repeat;
        height: 32px;
        /* width: 158px; */
        display: flex;
        justify-content: center;
        align-items: center;
        cursor: pointer;
    }

    >>>input::-webkit-input-placeholder {
        font-size: 16px;
        color: rgba(255, 255, 255, 0.78) !important;
    }

    >>>.el-input__inner {
        background: rgba(0, 0, 0, 0.58) !important;
        border: 1px solid rgba(0, 0, 0, 0.58);
        color: #fff;
    }

    >>>.el-input__suffix {
        /* color: #fff; */
        /* font-size: 17px; */
    }

    >>>.el-tree {
        background: transparent;
        color: #fff;
    }

    >>>.el-tree-node__content:hover {
        background: transparent;
    }

    >>>.el-tree-node:focus>.el-tree-node__content {
        background-color: transparent;
    }

    >>>.el-checkbox__inner {
        border: 1px solid #000;
        background-color: #000;
    }

    >>>.el-icon-search {
        cursor: pointer;
    }
</style>