npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

devecoui-plus

v1.0.46

Published

<p align="center"> <img width="400px" src="https://file.wonder-link.net/df6a2378f7354ce1aebf17dd227b3342.png"> </p> <p align="center" style="margin-top: -60px"> <a> <img src="https://img.shields.io/npm/v/element-plus.svg" /> </a> <a> <img

Readme

  • 💪 Vue 3 Composition API
  • 🔥 Written in TypeScript

基本介绍

devecoui-plus 是 devecoui的升级版本,优化了性能和属性引用。 本ui基于element-plus组件进行扩展,可以快速实现列表等功能开发,包含了数据处理、分页、表头吸顶、滚动条吸底、拖拽排序等复杂逻辑,并且插件中封装了许多方法类可直接使用,后续会不断进行完善。

入门指南

由于组件是基于 element-plus 进行拓展的,所以需要首先安装 element-plus,若项目已存在可忽略,无需指定特定版本。

npm install element-plus

已经存在 element-plus 后,再安装当前组件库。

npm install devecoui-plus

全部安装完成后在 src/main.js 中引用配置,示例如下:

import {createApp} from 'vue';
import App from './App.vue';
import router from './router';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';//必须引入
import zhCn from 'element-plus/dist/locale/zh-cn.mjs';// 此处是element-plus汉化
import DevecouiPlus from "devecoui-plus";//必须引入
import 'devecoui-plus/dist/style.css';//必须引入

const app = createApp(App);
app.use(createPinia());
app.use(router);
app.use(ElementPlus, {locale: zhCn});
app.use(DevecouiPlus);//必须引入
app.mount('#app');

第一步:在 src 目录下新建文件夹 config,如果已存在可忽略。

第二步:在 config 文件夹下新增文件 devecoui.fn.ts,内容如下:

import type {DevSearchTableProps} from 'devecoui-plus'

/**
 * DevSearchTable组件调用接口后处理返回的数据:默认情况下是取结果中的data内容。
 * @param res - 调用接口后返回的完整数据(注:如果axios处理了结果数据res返回的是处理后的内容)。
 * @param props - DevSearchTable组件的props。
 * @param type- data表示要处理接口返回的列表数据,total表示要处理接口返回的总条数。
 * @returns 默认返回值为接口回调data内容。
 */
function devSearchTableFieldsFn(res: any, props: DevSearchTableProps, type: 'data'): object[];
function devSearchTableFieldsFn(res: any, props: DevSearchTableProps, type: 'total'): number;
function devSearchTableFieldsFn(res: any, props: DevSearchTableProps, type: 'data' | 'total'): object[] | number {
    const result = res.data;
    if (type === 'data') {
        if (props.isPagination) {
            return result[props.dataKey || 'list'] as object[];
        } else {
            return result as object[];
        }
    }
    if (type === 'total') {
        if (props.isPagination) {
            return result[props.totalKey || 'total'] * 1 || 0 as number;
        } else {
            return 0;
        }
    }
    return [];
}

/**
 * DevSelect组件调用接口后处理返回的数据:默认情况下是取结果中的data内容。
 * @param res
 * @returns 默认返回值为接口回调data内容。
 */
function devSelectFieldsFn(res: any) {
    return res.data || []
}


/**
 * DevCascader 组件调用接口后处理返回的数据:默认情况下是取结果中的data内容。
 */
function devCascaderFieldsFn(res: any) {
    return res.data || []
}

/**
 * DevDownload组件调用接口后处理返回的数据:默认情况下是取结果中的data内容。
 * @param res
 */
function devDownloadFieldsFn(res: any) {
    return res.data || {}
}


export const fnConfig = {
    devSearchTableFieldsFn,
    devSelectFieldsFn,
    devCascaderFieldsFn,
    devDownloadFieldsFn
};

第三步:在 config 文件夹下新增文件 devecoui.props.ts,内容如下:

export const stylesConfig = {
    // 影响 dev-search-table 组件 和 dev-form-table 组件
    elTableProps: {
        rowKey: 'id',
        border: true,
        style: {width: '100%'},
        headerCellStyle: {background: '#eff3f6', textAlign: 'center'},
    },
    // 影响 dev-search-table 组件下方的页码
    devSearchTablePaginationProps: {
        layout: 'total, sizes, prev, pager, next',
        pageSizes: [10, 20, 50, 100],
        background: true
    },
    // 影响 dev-select 组件 dev-select-mutex 组件
    elSelectProps: {
        style: {width: '100%'},
        clearable: true,
        placeholder: '请选择',
        tagType: 'primary'
    },
    // 影响 dev-date-picker 组件
    elDatePickerProps: {
        style: {width: '100%'},
        type: 'datetimerange',
        clearable: true,
        placeholder: '请选择',
        rangeSeparator: '至',
        startPlaceholder: '开始时间',
        endPlaceholder: '结束时间',
        valueFormat: 'YYYY-MM-DD HH:mm:ss'
    },
    // 影响 dev-search-form 组件 和 dev-form-table 组件 中的表单部分
    elFormProps: {},
    // 影响 dev-cascader 组件 和 dev-cascader-mutex 组件
    elCascaderProps: {
        style: {width: '100%'},
        tagType: 'primary',
        clearable: true,
        props: {
            emitPath: true,
            multiple:false,
            value: 'value',
            label: 'label',
            children: 'children',
            disabled: 'disabled'
        }
    },
    // 影响 dev-copy 组件鼠标悬浮提示
    elTooltipProps: {
        effect: "dark",
    },
    // 影响 dev-input 组件
    elInputProps: {
        clearable: true, // 是否可清空
        style: {width: '100%'},
        placeholder: '请输入',
    },
};

第四步:在 config 文件夹下新增文件 devecoui.config.ts,内容如下:

import {stylesConfig} from './devecoui.props'
import {fnConfig} from './devecoui.fn'

export const defaultConfig = {
    ...stylesConfig,
    ...fnConfig
};

第五步:在 src/main.js 中引入配置文件,需要将刚才的配置文件引入,并且修改devecoui组件注册代码,示例如下:

import { defaultConfig } from '@/config/devecoui.config';// 加一句这个(引入配置文件)

app.use(DevecouiPlus, defaultConfig); // 修改这里

官网地址

https://devecoui.com/