# tw-components
**Repository Path**: lesterL/tw-components
## Basic Information
- **Project Name**: tw-components
- **Description**: tw-components是基于elementplus的一款二次封装仓库,核心是table和form2大核心组件。理念是让数据驱动布局,让代码更精简,让开发更迅速
- **Primary Language**: JavaScript
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2
- **Created**: 2024-03-25
- **Last Updated**: 2024-03-25
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# tw-vue-el
这个组件是基于在Vite中使用Vue 3和ElmentPlus(二次封装)进行开发,可以帮助您快速开发form和列表页面。
## 自定义配置
请参见 [Vite配置参考](https://vitejs.dev/config/)。
## 项目使用
```sh
npm install tw-vue-el
```
### 完整引入
```sh
import { createApp } from "vue"
import App from './App.vue'
import router from "./router/index"
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import zhCn from 'element-plus/es/locale/lang/zh-cn'
import twVueEl from 'tw-vue-el'
// 因为表格组件和form组件需要引入相关css
import 'tw-vue-el/dist/style.css'
const app = createApp(App)
app.use(ElementPlus,{locale: zhCn})
app.use(router)
app.use(twVueEl)
app.use(store)
app.mount('#app')
```
### 相关组件
```sh
// --- 表格搜索
```
### 表格搜索(ContentMain)
>ContentMain 是tw-form和tw-table的集合它只接收一个参数mainData,内部的参数才是使用规则.此处只有基础配置属性,详情请跳转相关组件属性查看
#### ContentMain 属性
| 属性名 | 说明 | 类型 | 默认值 |
|---------------------|------------------------------------------|----------|-----------------------------------------|
| lists | 用于渲染表格上面搜索 | Array | [] |
| foldNumber | 第一行默认显示数量 | Number | 3 |
| rules | 验证规则(同el-form) | Object | {} |
| formData | 同lists的key绑定使用,同时也会默认和表格api绑定获取数据 | Object | {} |
| labelWidth | 搜索区域文字描述宽度 | String | '120px' |
| isFormBnts | 是否显示tw-form相关的操作按钮 | Boolean | true |
| beforeChange | 点击搜索按钮时间前触发的事件 | Function | - |
| url | 表格请求地址 | String | - |
| id | table的唯一id,一页面多表格场景须赋值,否则无法动态计算高度 | String | - |
| method | 表格动态url请求类型 | String | post |
| columns | 表格每一列渲染数据 | Array | [] |
| lists | 表格每一行渲染数据 | Array | [] |
| tableParams | 表格默认请求数据,这里代指mainData.formData。他们是绑定关系 | Object | { pageNumber: 1, pageSize: 25 } |
| tableHeight | 表格固定高度 | Number | 0 |
| isRradio | 单选 | Boolean | false |
| showPagination | 分页显示开关 | Boolean | true |
| botHeight | 是分页栏加上边距加底部空白位置高度 | Number | 50 |
| indexFixed | 索引左侧定位开关 | Boolean | false |
| isCheck | checkbox显示开关 | Boolean | false |
| checkFixed | checkbox左侧定位开关 | String | 'left' |
| showIndex | 索引显示开关 | Boolean | false |
| size | 表格大小配置 | String | 'large' |
| stripe | 斑马纹显示开关 | Boolean | true |
| border | 边框线显示开关 | Boolean | false |
| pageSizesArr | 分页页码 | Array | [25, 50, 100] |
| tableBtns | 单例按钮渲染数据 | Object | - |
| small | 每页显示条数 | Boolean | false |
| headBtns | 顶部操作按钮 | Array | [] |
| isTableHeader | 默认显示表格顶部操作栏 | Boolean | true |
| isLoadStatus | 默认首次不加载table数据 | Boolean | false |
| highlightCurrentRow | 是否高亮显示当前选中行 | Boolean | true |
| rowClassName | 行样式名称,同elTable一样 | Function | - |
| selectable | isCheck必须为true 用于判断选项是否可以点击,返回true或false | Function | { return true} |
| autoScrollToTop | 请求数据后是否自动滚动到顶部 | Boolean | true |
| layout | 表格分页布局默认配置,依赖elPagination | String | total, prev, pager, next, sizes, jumper |
| background | 表格的背景颜色 | Boolean | true |
| loadingBg | 表格接口加载状态下背景颜色 | String | rabg(225,225,225) |
| emptyText | 列表无数据时展示的文字 | String | 暂无数据 |
#### ContentMain 事件
| 事件名 | 说明 | 类型 |
| ---- |---------------------------------------------------------------| ---- |
| tableCallback | 表格api加载完成后响应的事件 | Function |
| checkSelect | 表格点击checkbox响应的事件,对应eltable - select事件 | Function |
| rowCheck | 表格点击行数据响应的事件 | Function |
| tableCurrentChange | 当表格的当前行发生变化的时候会触发该事件,如果要高亮当前行,请打开表格的 highlight-current-row 属性 | Function |
| resetForm | form点击重置按钮响应的事件 | Function |
| submitForm | form点击搜索按钮响应的事件 | Function |
| selectionChange | 表格的check选择, 对应eltable - selection-change事件 | Function |
#### ContentMain Exposes
| 事件名 | 说明 | 类型 |
| ---- |--------------------------| ---- |
| getTable | 主动触发表格加载 | Function |
| seekTable | 模拟触发form搜索事件功能 | Function |
| getAllCheck | 获取表格已勾选数据 | Function |
| getTableLists | 获取表格已渲染行数据 | Function |
| setTableLists | 设置表格待渲染的行数据 | Function |
| setCurrentRow | 设置表格行高亮 | Function |
| clearSelection | 清空表格已勾选数据 | Function |
| toggleRowSelection | 设置表格行数据选择 | Function |
| setTableTotal | 设置表格Total数值 | Function |
| setTableDataHeight | 重新计算表格的自适应高度 | Function |
#### ContentMain 插槽
>tw-form lists单个对象自定义key就是自定义插槽,适场景使用。虽然提供此功能,但不建议使用
| 事件名 | 说明 |
| ---- |----------------|
| tableHeader | 表格按钮上方自定义区域 |
| table-l | 同表格按钮一行,左侧可操作区域 |
| table-c | 同表格按钮一行,中间可操作区域 |
| table-r | 同表格按钮一行,右侧可操作区域 |
| tableBotHeader | 表格按钮下方自定义区域 |