1.0.96 • Published 8 months ago

cy-comp v1.0.96

Weekly downloads
-
License
-
Repository
-
Last release
8 months ago

Cy-Comp

介绍 👀

Cy-Comp 是一款基于 Element-Plus 二次开发的组件库。

安装使用 📔

npm install cy-comp --S
或 yarn add cy-comp --S
  • 全局引用
import App from './App.vue';
import ElementPlus from 'element-plus';
import 'element-plus/dist/index.css';
import CyComp from 'cy-comp';
import 'cy-comp/dist/style.css';
const app = createApp(App);
app.use(ElementPlus).use(CyComp).mount('#app');
  • 单个引用
// Vue-js
import {CySelect} from 'cy-comp'
import   'cy-comp/dist/style.css'
// Vue-html
<CySelect :data="[{value:1,label:'测试'}]"></CySelect>
  • Install:
npm install 或 yarn add
  • Run:
npm run dev
  • Build:
npm run build

项目文档 📚

CyAnchorGroup 组合式锚点

🌼 版本需大于等于 1.0.85

  • 描述:组件包括了锚点列表和对应内容,更好的实现了双向联动效果。若不希望高耦合可使用 CyAnchorMenu 组件。

image

  • 使用方法
<CyAnchorGroup v-model="val" :data="titleList" menuDirection="right" height="500"> </CyAnchorGroup>
  • CyAnchorGroup - 属性
属性名类型是否必填描述
v-model / modelValueString当前激活节点
dataitemAnchorArray锚点配置项
menuDirectionString:right / left / top锚点菜单方向。默认 right
heightString / Number主题高度。默认 500

-CyAnchorGroup - itemAnchor 属性

属性名类型是否必填描述
nameString锚点名称
keyString / Number锚点唯一标识
componentcomponent锚点内容组件
attrsObject传递给组件的属性
childrenitemAnchorArray儿子锚点

例:

 <CyAnchorGroup v-model="val" :data='list' menuDirection="right" height="500" > </CyAnchorGroup>

import Comp from './comp.vue'
import {ref} from 'vue'
let val=ref('envPerson')
const list = [
  {
    name: '环保管理运维人员',
    key: 'envPerson',
    component: Comp,
    attrs: {
      content: '#F4EAD5'
    },
    children: [
      {
        name: '组件1',
        key: 'zujian1',
        component: Comp,
        attrs: {
          content: '#F4EAD1'
        }
      }
    ]
  }
]

CyAnchorMenu 锚点列表

🌼 版本需大于等于 1.0.85

  • 使用方法
<CyAnchorMenu v-model="val" :data="list"></CyAnchorMenu>
  • 属性
属性名类型是否必填描述
v-model / modelValueString当前激活节点
dataitemAnchorArray锚点配置项(同 AnchorGroup)
anchorHrefBoolern是否为 href 模式,默认为 false
menuDirectionString:column / row锚点布局方式:横向 / 纵向 。默认为 row

CySelect 下拉选择框

描述:对 el-select 和 el-option 的封装。支持所有 el-select 原有属性和方法。

  • 使用方法
<cy-select :data='[{value:1,label:"测试"}]'></cy-select>
  • CySelect - 属性
属性名类型描述
dataArray必填,通过 data 值渲染下拉框

CySelectMonths 月份多选框

🌼 版本需大于等于 1.0.83

image

  • 使用方法
<cy-select-months v-model="value"></cy-select-months>
  • CySelectMonths - 属性
属性名类型描述
v-modelArray-
collapseTagsCloseBooleantag 是否可关闭,默认为 true
collapseTagsBoolean多选时是否将选中值按文字的形式展示
maxCollapseTagsString,Number需要显示的 Tag 的最大数量 只有当 collapse-tags 设置为 true 时才会生效。
placeholderStringplaceholder

CyselectQuarter 季度选择器

🌼 版本需大于等于 1.0.94

image

  • 使用方法
<cy-select-quarter v-module="value" placeholder="请选择"></cy-select-quarter>
  • cy-select-quarter 属性
属性名类型描述
v-modelString
placeholderString

CyRadioGroup 单选框组

适用于在多个互斥的选项中选择的场景。 对 el-radio-group 和 el-radio 的封装。支持所有 el-radio-group 原有属性和方法。

  • 使用方法
<cy-radio-group :data='[{value:1,label:"测试"}]'></cy-radio-group>
  • CyRadioGroup - 属性
属性名类型描述
dataArray必填,通过 data 值渲染单选组合

CyCheckboxGroup

多选框组:适用于多个勾选框绑定到同一个数组的情景,通过是否勾选来表示这一组选项中选中的项。 对 el-checkbox-group 和 el-checkbox 的封装。支持所有 el-checkbox-group 原有属性和方法。

  • 使用方法
<cy-checkbox-group :data='[{value:1,label:"测试"}]'></cy-checkbox-group>
  • CyCheckboxGroup - 属性
属性名类型描述
dataArray必填,通过 data 值渲染复选框组合

CyProForm 超级表单

  • ProForm 属性
type:String,// ['show'/'edit'/'add'] default='add' form 类型
options:{
  form: { // el-form属性
    inline: Boolean,// default=false, 是否行内展示
    labelPosition:String,// 'right',
    labelWidth: '80px',
    size: 'large',
    disabled: false,
    labelSuffix: ' :',
  },
  columns: [
    {
      formItem: {
        prop: 'username',// 必填,formItem中Value 的key
        customComponent:Boolean,// 是否使用自定义组件。default=false 。 若为true,atte.typeName=自定义组件
        ... // 以下为el-form-item 组件支持的所有属性
        label: '用户名',
        labelWidth: '180px',
        required: true,
      },
      attrs: {
        typeName: 'el-input',//(必填) [String/Component] [ el组件名/内置组件名/自定义组件]。注意自定义组件需支持v-model
        .... // 以下属性为组件需要的所有属性
      },
      event:{ // 需要绑定的事件
          // 例如:el-input change事件
          change:(e)=>{
            console.log('点击了组件')
          }
      }
    },

  ],
}
  • CyProForm 方法
方法名描述示例
validateForm()校验 Form 表单,返回一个 promise:如果校验成功,返回 formValue.如果校验失败组件给出一个弹出框提示‘缺少必填项’Ref.validateForm().then((data)=>{ ...})
getValue()返回 formValue 值console.log(Ref.getValue());
setValue()设置 formValue 值Ref.setValue({key: value});
clear()清空 formValue 值Ref.clear();
  • CyProForm 事件
事件名描述示例
valueChangeformValue 值改变时出发

CySearchForm 搜索栏

image

<CySearchForm :columns="columns" :searchParam="searchParam"></CySearchForm>
  • CySearchForm 属性
名称类型描述
columnsArray必填,搜索选项数据,具体参数见下方描述
searchParamObject搜索值
labelWidthNumber 或 String组件整的 label 宽的 默认为 100px
resetbtnBoolern是否显示重置按钮,默认为 true
  • CySearchForm-columns 属性
名称类型描述
propstring必填,搜索框 key
labelstring必填,搜索框提示词
typeNamestring必填,组件名称。支持所有 el-form 组件
attrsobjectel-form 组件支持的所有属性
eventsobjectel-form 组件支持的所有事件
columns = [
  {
    prop: 'name', // 搜索框 key
    label: '信息名称', // 搜索框提示词
    typeName: 'el-input', // 支持所有 el-form 组件
    attrs: {
      // el-form 组件所支持的所有属性
    },
    events: {
      // el-form 组件所支持的所有事件
    },
  },
];
searchParam = {
  key: value,
};
  • CySearchForm - 事件
事件名称描述示例
search点击搜索按钮触发
reset点击重置按钮触发

CyProTable

对 searchForm/el-table/el-page/dialog 的整合,合理规划了样式和布局

<CyProTable :attr="{tableSearchbar:true,tablePage:true,showDetail:false,}">
  <template #search>
    <div>搜索栏</div>
  </template>
  <template #table="{height}">
    <el-table :height="height" border>
      <el-table-column type="index" label="序号" width="60"></el-table-column>
      <el-table-column type="name" label="姓名"></el-table-column>
    </el-table>
  </template>
</CyProTable>
  • CyProTable 属性
属性类型描述
pageObject如果分页必填
smallBoolean默认为false 是否使用 small 结构
attrObject其他属性 详见:CyProTable-attr属性
  • CyProTable - attr - 属性
属性类型描述
tableSearchbarBooleantabele 是否展示【搜索】栏
tablePageBooleantabele 是否展示【分页】
showDetailBoolean否展示【详情】按钮
dialogPageBooleandialog 是否展示【分页】
page: {// 分页
  size:Number,// 每页显示条数
  total:Number , // 总数
  page:Number , // 但钱页数
},
small: Boolean,// 是否使用 small 结构
attr:{ //
  showDetail:Boolean ,// 是否展示【详情】按钮
  tableSearchbar :Boolean ,// tabele 是否展示【搜索】栏
  tablePage:Boolean ,// tabele 是否展示【分页】
  dialogTitle:String,// dialog 的标题,
  dialogSearchBar: Boolean ,// dialog 是否展示【搜索】栏
  dialogPage:Boolean ,// dialog 是否展示【分页】
  dialogPage:Boolean ,// dialog 是否展示【分页】
}
  • CyProTable - 插槽
名称参数描述
search-搜索栏
tableheight主题部分,返回计算出的 table 最适合的高度

CyEditTable 可编辑表格

🌼 版本需大于等于 1.0.87

对 elTable 再度封装,实现功能如下:

  • 新增、删除、编辑、保存
  • 定义可编辑列
  • 表单校验规则
import { CyEditTable, CyEditTableColumn } from 'cy-comp';
<CyEditTable class="edit-table" :data="tableData">
  <CyEditTableColumn prop="date" label="时间"> </CyEditTableColumn>
  <CyEditTableColumn prop="name" label="姓名"> </CyEditTableColumn>
  <CyEditTableColumn prop="address" label="地址"> </CyEditTableColumn>
</CyEditTable>
  • CyEditTable 属性

支持 el-table 所有属性。

名称类型描述
dataArray必填,显示的数据
requestfunction动态数据,如果同时配置了 data 和 request,则最终渲染为两个数据的和
  • CyEditTable 方法
方法名参数描述
editActions.addRowrow增加一行可编辑态的行
editActions.deleteRow$index删除指定行,不论该行是编辑态还是非编辑态都会被删除
editActions.startEditable$index指定行变为编辑态
editActions.saveEditable$index保存编辑态并触发表单校验,如果校验通过,编辑数据会被更新到表格中。
editActions.cancelEditable$index指定行取消编辑态

CySplit 面板分割

🌼 版本需大于等于 1.0.94

image

  • 使用方法
<cy-split v-model="split">
  <template #left>
    <div class="demo-split-pane">Left Pane</div>
  </template>
  <template #right>
    <div class="demo-split-pane">Right Pane</div>
  </template>
</cy-split>
let split = 0.3;
  • CySplit - 属性
名称类型描述
v-modelnumber0-1 之间的数组,表示左右面板占比
modestringhorizontal:横向分割(默认) vertical:竖向分割
1.0.88

9 months ago

1.0.87

10 months ago

1.0.89

9 months ago

1.0.91

9 months ago

1.0.90

9 months ago

1.0.95

8 months ago

1.0.94

9 months ago

1.0.93

9 months ago

1.0.92

9 months ago

1.0.96

8 months ago

1.0.86

10 months ago

1.0.80

1 year ago

1.0.84

1 year ago

1.0.83

1 year ago

1.0.82

1 year ago

1.0.81

1 year ago

1.0.85

1 year ago

1.0.79

1 year ago

1.0.76

1 year ago

1.0.75

1 year ago

1.0.74

1 year ago

1.0.73

1 year ago

1.0.72

1 year ago

1.0.71

1 year ago

1.0.7

1 year ago

1.0.6

1 year ago

1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

0.0.9

1 year ago

0.0.8

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.2

1 year ago

1.0.1

1 year ago