Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@xiaohaih/condition-el-plus

Package Overview
Dependencies
Maintainers
1
Versions
38
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@xiaohaih/condition-el-plus

> ## 基于 `element-plus` 实现的条件搜索组件 > > - 通过 `JSON` 配置, 可动态显隐条件, 可实现相互依赖的条件 > - 目前支持以下几种类型, 通过字段 `t` 来区分 > - `input` 文本输入框 > - `select` 下拉框 > - `datepicker` 日期选择 > - `cascader` 级联组件 > - `checkbox` 多选框 > - `rad

  • 0.2.3
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
16
decreased by-33.33%
Maintainers
1
Weekly downloads
 
Created
Source

基于 element-plus 实现的条件搜索组件

  • 通过 JSON 配置, 可动态显隐条件, 可实现相互依赖的条件
  • 目前支持以下几种类型, 通过字段 t 来区分
    • input 文本输入框
    • select 下拉框
    • datepicker 日期选择
    • cascader 级联组件
    • checkbox 多选框
    • radio 单选框
  • 提供了 defineCondition 函数来定义条件(支持 ts 提示)
  • 提供了 registerComponent 方法来注册自定义条件组件, unregisterComponent 删除自定义的组件
  • 使用示例
<template>
    <HWrapper
        :datum="conditions"
        :backfill="query"
        @search="log('搜索事件', $event)"
        @reset="log('重置事件', $event)"
    ></HWrapper>
</template>
<script lang="ts">
import { HWrapper, defineCondition } from '@xiaohaih/condition-el';

const conditions = () =>
    defineCondition({
        name: { t: 'input', placeholder: '名称搜索' },
        address: { t: 'input', placeholder: '地址搜索' },
    });

export default {
    components: {
        HWrapper,
    },
    data: () => ({
        conditions: conditions(),
        query: { name: '名称存在默认值' },
        log: console.log,
    }),
};
</script>

不同类型支持的属性如下 👇

input

tips: 支持 element-plus.input 所有属性

属性名是否必填类型描述默认值
realtimeboolean值改变时是否立即触发事件-
waitTimenumber实时触发事件的防抖动时长300
labelSuffixVNode | string | Function条件与名称的分隔符-
postfixVNode | string | Function条件后显示的文字-
filterableboolean是否可筛选true
filterMethod(val: string, item: 选项值) => boolean自定义筛选逻辑-
clearableboolean是否可清空true
asstring字段别名(提交时优先该字段)-
emptyValuestring值为空时提交的值undefined
resetToInitialValuestring重置时是否置为初始值false
disabledboolean | (obj: { query: object, backfill: object }) => boolean是否禁用该条件-
hideboolean | (obj: { query: object, backfill: object }) => boolean是否隐藏该条件-
validator(query: object) => string | Promise | void校验该属性是否合格-
defaultValuestring | string[] | (query: object, backfill?: object) => string | string[]默认值-
dependboolean是否依赖其它字段-
dependFieldsstring | string[]依赖的字段集合-

select

tips: 支持 element-plus.select 所有属性

属性名是否必填类型描述默认值
labelKeystring选项的标签-
valueKeystring选项的值-
optionsany[]提供的数据源-
getOptions(cb: (data: any[], query: object) => void) => void获取远程数据源-
labelVNode | string | Function显示在条件前的名称-
labelSuffixVNode | string | Function条件与名称的分隔符-
postfixVNode | string | Function条件后显示的文字-
filterableboolean是否可筛选true
filterMethod(val: string, item: 选项值) => boolean自定义筛选逻辑-
clearableboolean是否可清空true
asstring提交字段的别名(优先使用该字段)-
emptyValuestring值为空时提交的值undefined
resetToInitialValuestring重置时是否置为初始值false
disabledboolean | (obj: { query: object, backfill: object }) => boolean是否禁用该条件-
hideboolean | (obj: { query: object, backfill: object }) => boolean是否隐藏该条件-
validator(query: object) => string | Promise | void校验该属性是否合格-
defaultValuestring | string[] | (query: object, backfill?: object) => string | string[]默认值-
dependboolean是否依赖其它字段-
dependFieldsstring | string[]依赖的字段集合-

datepicker

tips: 支持 element-plus.datePicker 所有属性

属性名是否必填类型描述默认值
valueFormatstring日期格式YYYY-MM-DD
fieldsstring[] | [begin: number, end: number]日期范围选择时对应多个字段时使用-
labelVNode | string | Function显示在条件前的名称-
labelSuffixVNode | string | Function条件与名称的分隔符-
postfixVNode | string | Function条件后显示的文字-
filterableboolean是否可筛选true
filterMethod(val: string, item: 选项值) => boolean自定义筛选逻辑-
clearableboolean是否可清空true
asstring提交字段的别名(优先使用该字段)-
emptyValuestring值为空时提交的值undefined
resetToInitialValuestring重置时是否置为初始值false
disabledboolean | (obj: { query: object, backfill: object }) => boolean是否禁用该条件-
hideboolean | (obj: { query: object, backfill: object }) => boolean是否隐藏该条件-
validator(query: object) => string | Promise | void校验该属性是否合格-
defaultValuestring | string[] | (query: object, backfill?: object) => string | string[]默认值-
dependboolean是否依赖其它字段-
dependFieldsstring | string[]依赖的字段集合-

cascader

tips: 支持 element-plus.cascader 所有属性

属性名是否必填类型描述默认值
valueKeystring选项的值-
childrenKeystring子级 keychildren
emitPathboolean是否以数组格式返回的值-
optionsany[]提供的数据源-
getOptions(cb: (data: any[], query: object) => void) => void获取远程数据源-
fieldsstring[]不同层级对应不同的字段-
labelVNode | string | Function显示在条件前的名称-
labelSuffixVNode | string | Function条件与名称的分隔符-
postfixVNode | string | Function条件后显示的文字-
filterableboolean是否可筛选true
filterMethod(val: string, item: 选项值) => boolean自定义筛选逻辑-
clearableboolean是否可清空true
asstring提交字段的别名(优先使用该字段)-
emptyValuestring值为空时提交的值undefined
resetToInitialValuestring重置时是否置为初始值false
disabledboolean | (obj: { query: object, backfill: object }) => boolean是否禁用该条件-
hideboolean | (obj: { query: object, backfill: object }) => boolean是否隐藏该条件-
validator(query: object) => string | Promise | void校验该属性是否合格-
defaultValuestring | string[] | (query: object, backfill?: object) => string | string[]默认值-
dependboolean是否依赖其它字段-
dependFieldsstring | string[]依赖的字段集合-

radio

tips: 支持 element-plus.radioGroup 所有属性

属性名是否必填类型描述默认值
valueKeystring选项的值-
labelKeystring选项的文本内容-
typeradio | button单选框类型radio
cancelableboolean是否可取消-
optionsany[]提供的数据源-
getOptions(cb: (data: any[], query: object) => void) => void获取远程数据源-
fieldsstring[]不同层级对应不同的字段-
labelVNode | string | Function显示在条件前的名称-
labelSuffixVNode | string | Function条件与名称的分隔符-
postfixVNode | string | Function条件后显示的文字-
filterableboolean是否可筛选true
filterMethod(val: string, item: 选项值) => boolean自定义筛选逻辑-
clearableboolean是否可清空true
asstring提交字段的别名(优先使用该字段)-
emptyValuestring值为空时提交的值undefined
resetToInitialValuestring重置时是否置为初始值false
disabledboolean | (obj: { query: object, backfill: object }) => boolean是否禁用该条件-
hideboolean | (obj: { query: object, backfill: object }) => boolean是否隐藏该条件-
validator(query: object) => string | Promise | void校验该属性是否合格-
defaultValuestring | string[] | (query: object, backfill?: object) => string | string[]默认值-
dependboolean是否依赖其它字段-
dependFieldsstring | string[]依赖的字段集合-

checkbox

tips: 支持 element-plus.checkbox 所有属性

属性名是否必填类型描述默认值
valueKeystring选项的值-
labelKeystring选项的文本内容-
typecheckbox | button单选框类型checkbox
optionsany[]提供的数据源-
getOptions(cb: (data: any[], query: object) => void) => void获取远程数据源-
fieldsstring[]不同层级对应不同的字段-
labelVNode | string | Function显示在条件前的名称-
labelSuffixVNode | string | Function条件与名称的分隔符-
postfixVNode | string | Function条件后显示的文字-
filterableboolean是否可筛选true
filterMethod(val: string, item: 选项值) => boolean自定义筛选逻辑-
clearableboolean是否可清空true
asstring提交字段的别名(优先使用该字段)-
emptyValuestring值为空时提交的值undefined
resetToInitialValuestring重置时是否置为初始值false
disabledboolean | (obj: { query: object, backfill: object }) => boolean是否禁用该条件-
hideboolean | (obj: { query: object, backfill: object }) => boolean是否隐藏该条件-
validator(query: object) => string | Promise | void校验该属性是否合格-
defaultValuestring | string[] | (query: object, backfill?: object) => string | string[]默认值-
dependboolean是否依赖其它字段-
dependFieldsstring | string[]依赖的字段集合-

FAQs

Package last updated on 17 Mar 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc