1.1.0 • Published 5 years ago
uniqueway-element v1.1.0
Install
npm install uniqueway-element
Quick Start
- 使用前请安装 element-ui
import Vue from 'vue'
import UniquewayElement from 'uniqueway-element'
Vue.use(UniquewayElement)
Components
// 名字太长,待优化
UniquewayElementTableList - 可配置的 Table
UniquewayElementScrollAffix - 固钉
UniquewayElementPreviewUploadSingle - 单张图片上传
UniquewayElementPreviewUploadMultiple - 多张个图片上传
Mixin
RulesForm - Form 表单规则
Using
- 示例
UniquewayElementTableList
<template>
<UniquewayElementTableList
title="产品列表"
:paginationFilter="filterFormParams"
:source="sourceList"
:config="config"
@getList="getList"
>
</UniquewayElementTableList>
</template>
<script>
import XxxComponent from '@/components/XxxComponent'
export default {
components: {
XxxComponent,
}
computed: {
...mapGetters({
sourceList: 'Xxxmodule/sourceList',
})
},
methods: {
setForbidden () {},
setUnForbidden () {},
async getList (query = this.filterFormParams) {
const res = await this.$store.dispatch(ProductLib.getAction('GetProductsList'), query)
return res
},
}
data () {
return {
loading: false,
filterFormParams: { // 获取列表时传递的参数
type: '',
// ...
},
config: [
{
attrs: {
label: '编号',
prop: 'id',
width: '90'
}
},
{
attrs: {
label: '产品信息',
width: '350'
},
renderComponent (data) {
return [ // 必须为数组
{ name: 'XxxComponent', data } // 返回「组件名」和「组件需要的数据」(使用 v-model 来绑定 data)
]
}
},
{
attrs: {
label: '最后更新人',
width: '100',
prop: 'lastModifierBy'
}
},
{
attrs: {
label: '更新时间',
prop: 'updatedAt'
}
},
{
attrs: {
label: '操作',
width: '260'
},
renderHTML (row) {
return [
{
attrs: {
label: '编辑',
type: 'text',
size: 'medium'
},
el: 'button',
click (row) {
this.$router.push(`/product_lib/products/${row.id}/edit/`)
}
},
!row.isForbid ? {
attrs: {
label: '禁用',
type: 'text',
size: 'medium'
},
el: 'button',
click () {
this.setForbidden(row.id)
}
} : {
attrs: {
label: '解除禁用',
type: 'text',
size: 'medium',
style: {
color: '#e6a23c'
}
},
el: 'button',
click () {
this.setUnForbidden(row.id)
}
}
]
}
}
]
}
}
}
</script>
- 示例
UniquewayElementScrollAffix
<template>
<UniquewayElementScrollAffix>
<div class="demo"></div>
</UniquewayElementScrollAffix>
</template>
<style lang="scss" scoped>
.demo {
position: absolute;
width: 150px;
height: 300px;
border: 1px solid red;
}
</style>
- 示例
UniquewayElementPreviewUploadSingle
<template>
<UniquewayElementPreviewUploadSingle
action="your API"
v-model="value"
/>
</template>
- 示例
UniquewayElementPreviewUploadMultiple
<template>
<UniquewayElementPreviewUploadMultiple
action="your API"
v-model="imageList"
/>
</template>
<script>
export default {
data () {
return {
imageList: [
{ url: '' },
{ url: '' }
]
}
}
}
</script>
- 示例
RuleForm
<template>
<!-- code... -->
<el-row :gutter="24">
<el-col :span="24">
<el-form-item
label="标题"
:prop="title"
:rules="getRequiredRules('change')"
>
<el-input
v-model="value.title"
placeholder="请输入标题"
/>
</el-form-item>
</el-col>
</el-row>
<!-- code... -->
</template>
<!-- code... -->
Dependencies
- Vue 2.5.17
- ElementUI 2.11.1
1.1.0
5 years ago
1.0.19
5 years ago
1.0.18
5 years ago
1.0.17
5 years ago
1.0.16
5 years ago
1.0.15
5 years ago
1.0.14
5 years ago
1.0.13
5 years ago
1.0.11
5 years ago
1.0.12
5 years ago
1.0.10
5 years ago
1.0.9
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago