# cms_vue
**Repository Path**: giteewang-yao/cms_vue
## Basic Information
- **Project Name**: cms_vue
- **Description**: vue的组件包
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2022-11-21
- **Last Updated**: 2022-12-24
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 安装
## V0.0.18
```shell
npm i @yanniswy/cms_vue
import cms from '@yanniswy/cms_vue';
Vue.use(cms)
```
## Git
:point_right: [Gitee](https://gitee.com/giteewang-yao/cms_vue)
# node版本 v18.12.1
# BaseTable

## BaseTable组件属性
> * 需要引入 `Table` `TableColumn`
* `:tableData=Array[Object]` 表格数据
* `:tableColumnOptions=Array[Object]` 表格列配置数据, 此项`必填`
* `label=String` : 列名
* `prop=String` : 与 表格数据 相应字段名 一致
* `width=Number` : 列宽, 可不填
* `tooltip=Boolean` : 该列是否添加 `show-overflow-tooltip` 属性,(只显示一行, 溢出省略,hover显示Tooltpi)
* `slot=String` : 开启插槽, 值为插槽名
```html
//使用:
```
* `:table_cell_height=Number` 表格内容行高, 默认80px
* `:header_cell_height=Number` 表头行高, 默认50px
* `:body_cell_style=Object` 表格样式
```js
:body_cell_style="{
backgroundColor: '#fff',
color: '#999',
fontSize: '12px',
}"
```
* `:header_cell_style=Object` 表头样式
```js
:header_cell_style="{
backgroundColor: '#fff',
color: '#999',
fontSize: '12px',
}"
```
* `:rowspanArray=Array[String]` 需要纵向合并相邻相同的表格的 列名数组. 可不填
```
:rowspanArray="['id']"
```
* `rowGap=Boolean` : 是否开启行间距,`20px`,不可调
## 勾选框
> * 需要引入 `Checkbox`
* `selection=Boolean` 是否显示勾选框
* `:multipleSelection.sync=Array` 被选中的数据,`若开启selection`,此项`必填`
## 分页器
> * 需要引入 `Pagination`
* **fy** `Boolean`
* 是否显示分页器
* `:fyData=Object` 分页数据, 不传值则不显示 分页器
```js
// 页面初次加载表格数据时初始化分页数据
this.getData({size: 10, page: 1}).then(res => {
console.log(res)
this.tableData=res.data
this.fyData = {
page: res.page, // 当前页面
size: res.size, // 每页数量
total: res.total // 数据总量
}
})
```
* `@checkPage=Callback` 分页器选择页码的回调函数,参数为更新后的 `fyData`
```js
checkPage(v) {
this.getData({size: v.size, page: v.page}).then(res => {
this.tableData = res.data
})
},
```
* `:pageSize=Array` 每页显示条目数量的数组,默认 `[10, 15, 20, 25, 30]`
## 加载更多
* `:loadMore=Boolean` 是否开启加载更多,默认 `false`
* `@loadMore=Callback` 加载更多的回调, 进行数据请求, 参数 `fyData`
```js
loadMore(v) {
this.getData({size: v.size, page: v.page}).then(res => {
this.tableData.push(...res.data)
})
},
```
## 点击事件
* **@cellClick="click"**
* 触发当前组件的 **click** 事件
* **usage**
```vue
methods: {
click(e) {
console.log(e);
},
}
```
* 回调参数:**点击行的所有数据**
## usage
```vue
```
## 其它问题
* 当 **loadmore** 图标旋转动画不自动停止时, 可以用 `ref` 手动更改组件的 `loading` 属性为 `false`
* 所有列宽累加不能超过组件整体宽度, 不然布局会乱.
# VirtualScroller

## 属性
* ```js
// 在外层元素可以设置 内边距
// 这里最好做个判断, 避免因为数据还没拿到,初始化组件报错
```
# LightBorder
## 属性
* ```html
```
* **reverse** `Boolean`
* 是否逆时针旋转, 默认 `false`
* **time** `String`
* 单次动画时长,默认 `3s`
* **width** `Number`
* 光效边框宽度, 默认 `4` (px)