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 🙏

© 2024 – Pkg Stats / Ryan Hefner

@wbiokr/vue2

v0.13.4

Published

基于Vue2的工具组件

Downloads

304

Readme

1. 组件列表

1.1 WMarker

基于阿里iconfont的Icon组件

| Property | Type | 默认值 | Description | | ----- | ------------- | ------------- | ------------------------ | | color | String | #333 | Icon填充色 | | width | Number | 16 | Icon宽度 | | height | Number | 16 | Icon高度 | | loading | Boolean | false | 是否加载中 | | isUse | Boolean | false | 是否使用symbol标记 | | isBtn | Boolean | false | 是否为按钮 | | disabled | Boolean | false | 是否不可点击 | | type | String | | 预制的icon(loading、close、layer、copy) | | d | String|Array | 空 | 来自iconfont的d属性(当d和type同时存在,则d的优先级更高) |

<template>
    <div>
        <WMarker type='close' />
        <WMarker d='M853.32992 102.4H170.67008C133.13024 102.4 102.4 133.13024 102.4 170.67008v682.65984C102.4 890.86976 133.13024 921.6 170.67008 921.6h682.65984C890.86976 921.6 921.6 890.86976 921.6 853.32992V170.67008C921.6 133.13024 890.86976 102.4 853.32992 102.4zM819.2 546.12992H546.12992V819.2h-68.25984V546.12992H204.8v-68.25984h273.07008V204.8h68.25984v273.07008H819.2v68.25984z' />
    </div>
</template>

1.2 WWhite

文本省略组件

| Property | Type | 默认值 | Description | | ----- | ------------- | ------------- | ------------------------ | | placement | String | top | tooltip的位置 | | text | String | | 文本主体 | | maxWidth | String | 100% | 最大宽度 | | white | Number | 1 | 省略的行数 | | direction | String | center | flex布局的justify-content属性,start end center around between |

<template>
    <div style='width: 50px'>
        <WWhite text='我是省略号我是省略号我是省略号我是省略号我是省略号' />
    </div>
</template>

1.3 WCopy

复制组件

| Property | Type | 默认值 | Description | | ----- | ------------- | ------------- | ------------------------ | | copyTitle | String | 复制 | 按钮的title | | copyMsg | String | 复制成功 | 复制成功后的提示语,为空的时候则不提示 | | color | String | #189fff | 按钮颜色 | | size | Number | 16 | 按钮尺寸 | | content | String | | 要复制的内容 | | disabled | Boolean | false | 是否置灰 |

<template>
    <div style='width: 50px'>
        <WCopy content='复制我吧复制我吧复制我吧' />
    </div>
</template>

1.4 WFullScreen

全屏组件

| Property | Type | 默认值 | Description | | ----- | ------------- | ------------- | ------------------------ | | type | String | primary | 按钮的类型(ant) | | size | String | 'small' | 按钮尺寸 | | closeTxt | String | 退出全屏 | 关闭提示语 | | openTxt | String | 打开全屏 | 开启提示语 | | placement | String | top | 提示语位置 |

<template>
    <div style='width: 50px'>
        <WFullScreen />
    </div>
</template>

1.5 WToast

toast提示语组件

| Property | Type | 默认值 | Description | | ----- | ------------- | ------------- | ------------------------ | | content | String | | 提示语 | | left | Number | 0 | 业务计算位置-left | | top | Number | 0 | 业务计算位置-top | | autoEvent | Boolean | true | 是否开启组件内部自动计算位置,当开启的时候left、top无效 |

<template>
    <div style='width: 50px'>
        <WToast content='跟随鼠标拖拽' />
    </div>
</template>

1.6 WRangePicker

时间(开始、结束)选择组件

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | value/v-model | Object | {} | 包含开始、结束属性的参数对象 | true | | fieldInfo | Object | {} | Field相关信息 | true |

<template>
    <div style='width: 150px'>
        <WRangePicker v-model='params' :fieldInfo='fieldInfo' />
    </div>
</template>
<script>
    export default {
        data() {
            return {
                params: {
                    sDate: '',
                    eDate: '',
                },
                fieldInfo: {
                    key: 'sDate,eDate',
                    extraAttrs: {
                        class: 'w-200',
                        showTime: true,
                        format: 'YYYY-MM-DD HH:mm:ss',
                        placeholder: ['开始时间', '结束时间'],
                    },
                },
            }
        },
    }
</script>

1.7 WDatePicker

时间(开始、结束)选择组件

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | value/v-model | String | '' | 字符串时间 | true | | fieldInfo | Object | {} | Field相关信息 | true |

<template>
    <div style='width: 150px'>
        <WDatePicker v-model='params.date' :fieldInfo='fieldInfo' />
    </div>
</template>
<script>
    export default {
        data() {
            return {
                params: {
                    date: '',
                },
                fieldInfo: {
                    key: 'date',
                    extraAttrs: {
                        class: 'w-200',
                        format: 'YYYY-MM-DD',
                    },
                },
            }
        },
    }
</script>

1.8 WArea

区域选择组件(省、市、区)

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | value/v-model | Object | {} | 包含省市区的参数对象 | true | | fieldInfo | Object | {} | Field相关信息 | true | | httpOptions | Object | {} | Http相关信息 | 当需要动态请求省市区选项的时候必传 | | provinceOptions | Object | AreaSelect | 省份配置信息 | false | | cityOptions | Object | AreaSelect | 城市配置信息 | false | | countyOptions | Object | AreaSelect | 区县配置信息 | false |

<template>
    <a-form layout="inline">
        <WArea v-model="params" :httpOptions="httpOptions" :fieldInfo="fieldInfo" />
    </a-form>
</template>
<script>
    export default {
        data() {
            return {
                httpOptions: {
                    baseURL: 'http://localhost:8855',
                    error: message.error,
                    dataKey: 'result',
                    beforeRequest(config) {
                        config.headers['Token'] = '12fsfsafafsfafsfsfsa'
                    },
                },
                params: {
                    cityCode: '140300',
                    countyCode: '140311',
                    provinceCode: '140000',
                },
                fieldInfo: {
                    type: 'county',
                    extraAttrs: {
                        mode: 'multiple',
                        class: 'w-400',
                    },
                    actions: [
                        {
                             url: '/conf/city/provinceList',
                        },
                        {
                            url: '/conf/city/cityList',
                            params(o) {
                                return { id: o.id }
                            },
                        },
                        {
                            url: '/conf/city/district',
                            params(o) {
                                return { id: o.id }
                            },
                        },
                    ],
                },
            }
        },
    }
</script>

1.9 WFields

搜索条件组件

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | fields | | <Field>[] | [] | true | | httpOptions | Object | {} | Http相关信息 | 当需要动态请求省市区选项的时候必传 | | buttonOptions | Object | ButtonOptions | 按钮配置信息 | false | | commonParams | Object | {} | 公共参数 | false | | columns | <Column>[] | [] | 当需要列设置的时候 | false | | isSearching | Boolean | false | 是否搜索中 | false | | emit('search') | Event | null | 搜索事件 | false | | emit('fields') | Event | null | 整理fields事件 | false | | slot('beforeField') | Slot | null | beforeField插槽,位于整个组件开始位置---slot-scoped='{params}' | false | | slot('afterField') | Slot | null | afterField插槽,位于整个组件结束位置---slot-scoped='{params}' | false | | slot('button') | Slot | null | button插槽,位于导出按钮后面---slot-scoped='{params}' | false |

<template>
    <Fields
        :fields="fields"
        :commonParams="{app: 'haha'}"
        :httpOptions="httpOptions"
        @search="onList(1)"
        @fields="(v) => (newFields = v)"
    >
        <a-form-item slot="afterField">
            <a-button>afterField</a-button>
        </a-form-item>
    </Fields>
</template>
<script>
    export default {
        data() {
            return {
                httpOptions: {
                    baseURL: 'http://localhost:8855',
                    error: message.error,
                    dataKey: 'result',
                    beforeRequest(config) {
                        config.headers['Token'] = '12fsfsafafsfafsfsfsa'
                    },
                },
                params: {
                    cityCode: '140300',
                    countyCode: '140311',
                    provinceCode: '140000',
                },
                fields: [
                    {
                        key: 'date',
                        extraAttrs: {
                            class: 'w-200',
                            format: 'YYYY-MM-DD',
                        },
                    },
                    {
                        type: 'county',
                        key: 'area',
                        label: '区域',
                        extraAttrs: {
                            // mode: 'multiple',
                            class: 'w-400',
                            provinceKey: 'pcode',
                            cityKey: 'ccode',
                            countyKey: 'tcode',
                        },
                    },
                    {
                        type: 'select',
                        label: '用户',
                        key: 'username',
                        extraAttrs: {
                            class: 'w-130',
                        },
                        actions: [
                            {
                                url: '/sys/user/getListByUserName',
                                labelKey: 'realname',
                                valueKey: 'username',
                            },
                        ],
                    },
                ]
            }
        },
    }
</script>

1.10 WDownload

下载组件

| Property | Type | 默认值 | Description | 必填 | | ----- | ------------- | ------------- | ------------------------ | --- | | extraAttrs | Object | { disabled: false, ghost: false, icon: 'download', size: 'default', type: 'primary', nameOrKey: '' } | button组件配置+nameOrKey(优先级最低)| false | | httpOptions | Object | {} | Http相关信息 | 当url参数不为function时候必传 | | url | String, Function, Object | '' | 请求主体 | true | | slot(默认) | Slot | 下载 | | false |

<template>
    <WDownload
        :httpOptions="httpOptions"
        :extraAttrs="{
            type: 'primary',
            ghost: true,
            icon: 'export',
            nameOrKey: 'hahah.xls',
        }"
        url="/export/abc"
        class="m-r-10"
        >导出</WDownload
    >
</template>

1.11 WTable

下载组件

| Property | Type | 默认值 | Description | 必填 | | ----- | ------------- | ------------- | ------------------------ | --- | | httpOptions | Object | {} | Http相关信息 | true | | buttonOptions | Object | ButtonOptions | Fields部分的buttonOptions参数 | false | | fields | Field[] | [] | Field部分配置主体 | false | | pageOptions | Object | PageOptions | 分页配置 | false | | tableOptions | Object | TableOptions | list配置 | true | | slot('beforeField') | Slot | null | beforeField插槽,位于整个组件开始位置---slot-scoped='{params}' | false | | slot('afterField') | Slot | null | afterField插槽,位于整个组件结束位置---slot-scoped='{params}' | false | | slot('button') | Slot | null | button插槽,位于导出按钮后面---slot-scoped='{params}' | false |

<template>
    <WTable
        :fields="fields"
        :httpOptions="httpOptions"
        :pageOptions="{
            pageKey: 'current',
        }"
        :tableOptions="{
            listUrl: '/abc',
            columns: columns,
            bottomOffset: 200,
        }"
        :buttonOptions="{
            exportUrl: '/export',
        }"
    >
        <a-form-item slot="afterField">
            <a-button>afterField</a-button>
        </a-form-item>
    </WTable>
</template>

1.12 WDelete

删除组件

| Property | Type | 默认值 | Description | 必填 | | ----- | ------------- | ------------- | ------------------------ | --- | | extraAttrs | Object | { } | button组件配置+nameOrKey(优先级最低)| false | | httpOptions | Object | {} | Http相关信息 | true> | | url | String, Function, Object | '' | 请求主体 | true | | title | String | '删除' | tooltip的title | false | | notice | String | '确定要删除吗?' | 弹窗确认提示 | false | | record | Object | {} | 行数据 | true | | method | String | 'get' | 方法类型 | false | | disabled | Boolean | 'false' | 是否不可点击 | false | | slot(默认) | Slot | '' | | true |

<template>
    <WDownload
        :httpOptions="httpOptions"
        :extraAttrs="{
            type: 'primary',
            ghost: true,
            icon: 'export',
            nameOrKey: 'hahah.xls',
        }"
        url="/export/abc"
        class="m-r-10"
        >导出</WDownload
    >
</template>

1.12 WNotice

提示组件

| Property | Type | 默认值 | Description | 必填 | | ----- | ------------- | ------------- | ------------------------ | --- | | size | Number | 16 | icon大小 | false | | color | String | #aaa | icon颜色 | false | | placement | String | top | popover位置 | false | | title | String | '' | popover的title | false | | content | String,Array | '' | 提示内容 | true |

<template>
    <WNotice content="哈喽哈喽" />
    <WNotice :content="['哈喽哈喽', 'hihihi']" />
</template>

2 公共参数

2.1 Field参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | type | String | input | 类型(被用到WFields组件的时候有用), W_TYPES为所有常量(input、range、date、select、province、city、county等类型) | 使用在WFields时必填 | | label | String | | 使用在WFields组件上时候的属性名称 | 使用在WFields时必填 | | key | String | | 格式必须为逗号隔开的开始、结束属性集合(如startDate,endDate) | true | | defaultValue | String|Array | | 默认值 | false | | options | Array | [] | 当类型为select,treeSelect等时候的下拉选项 | false | | extraAttrs | Object | | 对应ant组件上的其他属性 | false | | slot | String | | 当使用自定义组件时候的slot名称 | false | | actions | Array | [] | 当类型为select,treeSelect等组件需要动态获取options时候的配置 | false |

2.2 Action参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | url | String | | 获取options的接口 | true | | method | String | get | 请求方法 | false | | params | Object | {} | 请求参数 | false | | optionPath | String | | 字段路径,组件会自动识别data、result、record、list、results、records响应属性 | false | | labelKey | String | label | 下拉框名称 | false | | valueKey | String | value | 选中项目的值 | false | | callback | null|function | null | 回调函数 | false |

2.3 AreaSelect参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | label | String | 分别为省份、城市、区县 | 名称 | false | | width | String | 100% | select宽度 | false | | labelCol | Object | {} | label 标签布局 | false | | wrapperCol | Object | {} | 控件 布局 | false | | labelAlign | String | right | label的文本对齐方式 | false | | required | Boolean | false | 是否必填 | false |

2.4 ButtonOptions参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | searchTxt | String | 搜索 | 搜索按钮名称 | false | | resetTxt | String | 重置 | 重置按钮名称 | false | | exportTxt | String | 导出 | 导出按钮名称 | false | | showReset | Boolean | true | 是否展示重置 | false | | showExport | Boolean | true | 是否展示导出 | false | | exportUrl | String|Object|Function | 导出url配置 | false |

2.5 url参数

exportUrl类型解释: 
1、当为string类型的时候,表示带query参数的get请求导出/其他地址;
2、当为object类型的时候,表示post请求/详细的get请求,里面包含
    {
        type: 'post',
        url: '', 
        params: {}, 
        headers: {}, 
        nameOrKey: '' 
    }
    其中nameOrKey可以表示名称或接口返回字段(非必填)
3、当为function类型的时候,表示自定义导出/其他行为

2.6 PageOptions参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | isPage | Boolean | true | 是否分页 | false | | defaultSize | Number | 20 | 分页默认大小 | false | | exportTxt | String | 导出 | 导出按钮名称 | false | | size | String | '' | 分页组件的size | false | | pageKey | String | pageNo | 传给后台的分页数key | false | | sizeKey | String | pageSize | 传给后台的分页大小key | false | | totalKey | String | total | 后台响应基于response的总数key | false | | recordKey | String | '' | 后台响应基于response的list主体key(默认情况下会自动找出最合适的数组,不准的情况下请自己手动传入) | false |

2.7 TableOptions参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | listUrl | String | '' | 请求list地址 | true | | listMethod | String | get | 请求方式 | false | | listParams | Object|Function | {} | 外部单独业务参数/处理参数 | false | | autoLoad | Boolean | true | 页面打开是否自动请求第一页数据 | false | | bottomOffset | Number | 0 | table组件距离底部留白距离(用于自动计算滚动使用) | false | | columns | Column[] | [] | table组件的列配置 | true | | extraAttrs | Object | {} | AntTable其他想要自定义的属性 | false | | afterList | null|Function | null | 请求完数据后的钩子 | false |

2.8 Column参数

| Property | Type | 默认值 | Description | 是否必填 | | ----- | ------------- | ------------- | ------------------------ | ----- | | dataIndex | String | '' | 唯一key | true | | title | String | '' | 标题 | false | | template | String | '' | 有内置的label、index、white、tag、其他自定义slot | false | | textFilter | Function|null | null | tag组件的时候需要自定义内容时候的配置 | false | | fieldKey | String|null | null | label组件的时候dataIndex在Field里面的可以不一致的情况下手动配置项 | false | | hidden | Boolean | false | 设置column是否隐藏 | false | | extraAttrs | Object | {} | 各个自定义组件tag、label等的自定义属性 | false |