您的位置:首页 > 其它

幼儿园业务组件使用说明

2017-07-25 10:59 344 查看
inspinia绿色风格的vue组件
说明

选择框组件in-select
基础用法

可过滤选项

远程搜索

自定义选项模板

属性表

表格组件in-table
基础用法

简单格式化和自定义列内容

固定表头

属性表

分页组件in-pagination
基础用法

可指定当前页码和显示页脚数量

属性表

事件表

加载服务v-inspinia-loading
基础用法

自定义加载文案和指定给动画类型

属性表

inspinia绿色风格的vue组件

说明

1.因为不能选用jsx语法,所以只能选择template和script强耦合(虽然我也不太懂什么叫耦合)的方式来设计组件。

2.暂时未添加过多的功能和自定义样式,有需要再加。

3.属性表中属性名前加*为必选,否则可选。

4.表单组件都可使用v-model,也都会触发change事件,属性表中不再单独列出。

选择框组件
in-select

基础用法



<template>
<!-- 为select组件传入options选项即可生成下拉框组件,具体格式参见属性表 -->
<in-select
placeholder="请选择"
v-model="testValue"
:options="options">
</in-select>
</template>

<script>
export default {
data() {
return {
options: [
{
label: '选项一',
value: 1,
},
{
label: '选项二',
value: 2,
},
],
testValue: 0,
};
},
};
</script>


可过滤选项



<!-- 传入filterable选项即可开启搜索过滤,暂时仅支持对选项的label过滤 -->
<in-select
filterable
placeholder="请选择"
v-model="testValue"
:options="options">
</in-select>


远程搜索





<!-- 传入filterable的同时传入remoteMethod方法即可实现远程搜索,参数参见属性表 -->
<in-select
filterable
placeholder="请选择"
v-model="testValue"
:options="options"
:remoteMethod="remoteMethod">
</in-select>
<script>
export default {
// data同上
methods: {
remoteMethod(query, endLoading) {
setTimeout(() => {
this.options = [
{
label: '远程选项一',
value: 1,
}
];
// 远程搜索时自带加载动画,搜索结束后务必调用此函数
endLoading();
}, 1000);
},
},
};
</script>


自定义选项模板



<in-select
placeholder="请选择"
v-model="testValue"
:options="options">
<template scope="props">
<strong>这是第{{ props.index + 1}}个选项,内容是{{ props.option.label }}</strong>
</template>
</in-select>


属性表

属性名说明类型可选值/参数默认值
*
options
要渲染的选项
Array
可传入非对象数组,则标签和值都相同[ ]
placeholder
同input
String
请选择
size
选择框尺寸,默认占满父元素
String
small
/
md
filterable
是否开启过滤搜索
Boolean
true
/
false
true
remoteMethod
远程搜索函数
Funciton
query: String
查询字符串
endLoading: Function
调用来结束加载动画
labelPropName
作为选项标签的属性名
String
label
valuePropName
作为选项值的属性名
String
value

表格组件
in-table

基础用法



<template>
<!-- 为table组件传入data和cols选项即可生成表格,具体格式参见属性表 -->
<in-table
:data="list"
:cols="cols">
</in-table>
</template>

<script>
export default {
data() {
return {
list: [
{
name: '翠花',
sex: '女',
},
{
name: '王大锤',
sex: '男',
},
],
cols: [
{
label: '姓名',
prop: 'name',
},
{
label: '性别',
prop: 'sex',
},
],
};
},
};
</script>


简单格式化和自定义列内容



<in-table
:data="list"
:cols="cols">
<!-- slot可在cols单独指定slot属性,也可直接使用每一列的label -->
<template
slot="性别"
scope="props">
<strong>这是自定义内容 {{props.row.sex}}</strong>
</template>
</in-table>

<script>
export default {
data() {
return {
cols: [
{
label: '姓名',
prop: 'name',
// 指定formater即可对列内容简单格式化
formater(row) {
return `这是简单格式化  ${row.name}`;
},
},
],
};
},
};
</script>


固定表头



<!-- 为table指定最大高度max-height,即可实现固定表头 -->
<in-table
max-height="300px"
:data="list"
:cols="cols">
<template
slot="性别"
scope="props">
<strong>这是自定义内容 {{props.row.sex}}</strong>
</template>
</in-table>


属性表

属性名说明类型可选值/参数默认值
*
data
表格数据来源
Array
有各种属性的对象[ ]
*
cols
列的定义
Array
label: String
表头名
prop: String
此列渲染data数组中的属性名
fromater: (row: Object) => String
简单格式化列内容的函数,参数为每一行的数据对象,返回字符串
maxHeight
表格最大高度,超过则出现滚动条且固定表头
String
示例:
700px
emptyText
data长度为0时出现的文字
String
示例:
加载失败
暂无数据

分页组件
in-pagination

基础用法



<template>
<!-- 为pagination组件传入total参数即可生成分页组件 -->
<in-pagination
:total="20">
</in-pagination>
</template>


可指定当前页码和显示页脚数量





<template>
<in-pagination
:total="100"
:currentPage="2"
:maxPagers="10">
</in-pagination>
</template>


属性表

属性名说明类型可选值/参数默认值
*
total
数据总量
Number
示例:
100
currentPage
当前页码
Number
示例:
2
1
maxPagers
显示页脚数量
Number
示例:
10
7

事件表

事件名说明回调参数
size-change
每页显示数量改变时触发
pageSize: Number
每页显示数量
current-change
当前页码改变时触发
currentPage: Number
当前页码

加载服务
v-inspinia-loading

基础用法



<template>
<!-- 在组件中加入v-inspinia-loading指令,即可出现加载动画 -->
<in-pagination
v-inspinia-loading="{
show: true,
}"
:total="100"
:currentPage="2"
:maxPagers="10">
</in-pagination>
</template>


自定义加载文案和指定给动画类型





<template>
<!-- 传入指令时指定额外的loadingText和animationType属性即可定义文案和动画 -->
<in-pagination
v-inspinia-loading="{
show: true,
loadingText: '加载文案',
animationType: 'three-bounce',
}"
:total="100"
:currentPage="2"
:maxPagers="10">
</in-pagination>
</template>


属性表

属性名说明类型可选值/参数默认值
*
show
是否展示加载动画
Boolean
ture
/
false
false
loadingText
加载文案
String
示例:
加载文案
加载中
animationType
加载动画类型
String
plane
/
bounce
/
cubes

pulse
/
dots
/
three-bounce

grid
/
wave
wave
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: