1.2.3 • Published 4 years ago

el-supplement-ui v1.2.3

Weekly downloads
1
License
ISC
Repository
github
Last release
4 years ago

el-supplement-ui

el-supplement-ui是一个基于vue和element-ui的UI组件,其中包含ElSupTreeTransfer(支持树形结构的穿梭框)、ElSupCheckboxDropdown(下拉复选框)、ElSupUploadButton(上传(文件)按钮)。本组件需在引入element-ui之后方可使用,所以,在使用之前请确认是否已经引入element-ui。

Install

npm i el-supplement-ui --save

or

npm i el-supplement-ui -S

Quick Start

import Vue from 'vue'
import Element from 'element-ui'

Vue.use(Element)

// example one
import ElSupplement from 'el-supplement-ui'
Vue.use(ElSupplement)

// example two
import {
    ElSupCheckboxDropdown,
    ElSupTreeTransfer,
    ElSupUploadButton
} from 'el-supplement-ui'
Vue.component(ElSupCheckboxDropdown.name, ElSupCheckboxDropdown)
Vue.component(ElSupTreeTransfer.name, ElSupTreeTransfer)
Vue.component(ElSupUploadButton.name, ElSupUploadButton)

// 引入element-ui index.css
import 'element-ui/lib/theme-chalk/index.css';
// 引入el-supplement-ui index.scss
import 'el-supplement-ui/lib/index.scss';

ElSupTreeTransfer

ElSupTreeTransfer,这个组件的功能类似于element-ui的transfer组件,但其是一个支持树形结构的穿梭框组件。这个组件主要依赖element-ui的el-checkbox、el-input、el-button、el-tree等组件和el-transfer组件的样式.

截图

截图

Use

<template>
    <el-container>
        <section style="margin: 2vh 2vw;">
            <el-sup-tree-transfer
                v-model="value1"
                filterable
                open-all
                data-type="key"
                :data="data"
                :left-default-checked="leftDefaultChecked"
                :right-default-checked="rightDefaultChecked"
                @change="handleChange1"
            ></el-sup-tree-transfer>
        </section>
    </el-container>
</template>
import { ElSupTreeTransfer } from 'el-supplement-ui'
export default {
    name: "demo",
    components: {
        ElSupTreeTransfer
    },
    data() {
        return {
            data: [
                {
                    id: 1,
                    label: "总部",
                    children: [
                        {
                            id: 1001,
                            label: "部门一",
                            children: [
                                {
                                    id: 1001001,
                                    label: "小组一",
                                    children: [
                                        {
                                            id: 1001001001,
                                            label: "李四1"
                                        },
                                        {
                                            id: 1001001002,
                                            label: "李四2"
                                        },
                                        {
                                            id: 1001001003,
                                            label: "李四3"
                                        },
                                        {
                                            id: 1001001004,
                                            label: "李四4"
                                        }
                                    ]
                                },
                                {
                                    id: 1001002,
                                    label: "构肆"
                                }
                            ]
                        },
                        {
                            id: 1002,
                            label: "部门二",
                            children: [
                                {
                                    id: 1002001,
                                    children: [
                                        {
                                            id: 1002001001,
                                            label: "王五1"
                                        },
                                        {
                                            id: 1002001002,
                                            label: "王五2"
                                        },
                                        {
                                            id: 1002001003,
                                            label: "王五3"
                                        }
                                    ],
                                    label: "小组一"
                                },
                                {
                                    id: 1002002,
                                    children: [
                                        {
                                            id: 1002002001,
                                            label: "张三1"
                                        },
                                        {
                                            id: 1002002002,
                                            label: "张三2"
                                        },
                                        {
                                            id: 1002002003,
                                            label: "张三3"
                                        },
                                        {
                                            id: 1002002004,
                                            label: "张三4"
                                        }
                                    ],
                                    label: "小组二"
                                }
                            ]
                        },
                        {
                            id: 1003,
                            label: "狐鸣"
                        }
                    ]
                }
            ],
            value1: [1, 1001, 1001001, 1001001001],
            value2: [1001001001],
            leftDefaultChecked: [1002002001],
            rightDefaultChecked: [1001001001]
        };
    },
    methods: {
        handleChange1(value, leftTreeData, rightTreeData) {
            console.log("valueType: key", value, "top");
        },
        handleChange2(value, leftTreeData, rightTreeData) {
            console.log("valueType: leafKey", value, "bottom");
        }
    }
}

Attributes

参数说明类型可选值默认值
value / v-model绑定值array--
valueTypevalue的类型。类型为key时,value为右侧树所有节点的nodeKey组成的数组;类型为leafKey时,value为右侧树所有叶子节点的nodeKey组成的数组。stringkey / leafKeyleafKey
dataTransfer的数据源(树形结构)array-[]
filterable是否过滤节点boolean-false
filterPlaceholder搜索框占位符string-输入关键字进行过滤
titles自定义panel标题array-"源列表", "目标列表"
buttonTexts自定义按钮文案array-"添加", "移除"
nodeKey每个树节点用来作为唯一标识的属性,整棵树应该是唯一的string-id
openAll是否展开所有节点boolean-true
defaultProps树的配置选项object-{ label: "label", children: "children" }
leftDefaultChecked初始状态下左侧树选中的节点的nodeKey数组array-[]
rightDefaultChecked初始状态下右侧树选中的节点的nodeKey数组array-[]

Events

事件名称说明回调参数
change右侧树节点变化时触发当前值、左侧树的数据、右侧树的数据
left-check-change左侧树节点checkbox被用户选中 / 取消选中时触发左侧树目前被选中的节点所组成的数组checkedNodes、左侧树目前被选中的叶子节点所组成的数组checkedLeafNodes、左侧树目前被选中的节点的key所组成的数组checkedKeys、左侧树目前被选中的叶子节点的key所组成的数组checkedLeafKeys、左侧树目前半选中的节点所组成的数组halfCheckedNodes、左侧树目前半选中的节点的key所组成的数组halfCheckedKeys
right-check-change右侧树节点checkbox被用户选中 / 取消选中时触发右侧树目前被选中的节点所组成的数组checkedNodes、右侧树目前被选中的叶子节点所组成的数组checkedLeafNodes、右侧树目前被选中的节点的key所组成的数组checkedKeys、右侧树目前被选中的叶子节点的key所组成的数组checkedLeafKeys、右侧树目前半选中的节点所组成的数组halfCheckedNodes、右侧树目前半选中的节点的key所组成的数组halfCheckedKeys

ElSupCheckboxDropdown

ElSupCheckboxDropdown,下拉复选框组件,以下拉的方式显示复选框列表。这个组件主要依赖element-ui的el-button、el-dropdown、el-dropdown-menu、el-dropdown-item、el-checkbox-group、el-checkbox等组件。

截图

截图

Use

<template>
    <el-container>
        <el-sup-checkbox-dropdown
            v-model="checkedColumns"
            buttonText="列表项"
            :allColumns="allColumns"
            @change="changeColumns"
        />
    </el-container>
</template>
import { ElSupCheckboxDropdown } from 'el-supplement-ui'
export default {
    name: "demo",
    components: {
        ElSupCheckboxDropdown
    },
    data() {
        return {
            checkedColumns: [], // 选中值(表格需展示的column)
            allColumns: [
                { label: "name", name: "姓名" },
                { label: "age", name: "年龄" },
                { label: "sex", name: "性别" },
                { label: "major", name: "专业" }
            ] // 表格全部column
        }
    },
    methods: {
        changeColumns(columns) {
            console.log(columns);
        }
    }
}

Attributes

参数说明类型可选值默认值
value / v-model绑定值array--
buttonText自定义按钮文案string-"列表项"
props配置选项,具体看下表object--
allColumns所有的checkbox选项array-{label: String, name: String, readonly: Boolean},label为选中状态值,name为原声name属性,readonly标记当前选项是否只读,也就是是否禁用切换选中状态
maxHeight下拉框的最大高度string-"290px"

| 参数 | 说明 | 类型 | 可选值 | 默认值 | | label | el-checkbox label | string | - | "label" | | name | el-checkbox name | string | - | "name" |

Events

事件名称说明回调参数
changecheckbox选中状态改变触发当前值

ElSupUploadButton

ElSupUploadButton,上传(文件)按钮,用于单文件上传,不呈现上传文件列表,将el-upload组件原有的上传文件行为屏蔽掉了,上传文件的处理可以放到本组件on-change事件的处理程序当中。这个组件主要依赖element-ui的el-upload、el-button等组件。

use

<template>
    <el-container>
        <el-sup-upload-button accept=".xls" buttonType="primary" @on-change="handleOnChange"></el-sup-upload-button>
    </el-container>
</template>
import { ElSupUploadButton } from 'el-supplement-ui'
export default {
    name: "demo",
    components: {
        ElSupUploadButton
    },
    data() {
        return {};
    },
    methods: {
        handleOnChange(file) {
            /**
             * @param {Object[File]} file 上传的文件file
             */
        }
    }
}

Attributes

参数说明类型可选值默认值
accept可接受的文件格式string-".xls, .xlsx"
buttonText自定义按钮文案string-"导入"
buttonType按钮typestringprimary / success / warning / danger / info / text""

Events

事件名称说明回调参数
on-change文件状态改变事件,此处事件处理可用于文件上传处理需要上传的文件file
1.2.3

4 years ago

1.2.2

4 years ago

1.2.0

4 years ago

1.2.1

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.1

4 years ago

1.1.0

4 years ago

1.1.2

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago