InfoPanel
信息面板组件
示例
<template>
<div>
<InfoPanel :schema="Schema" :data="data" />
</div>
</template>
<script>
import InfoPanel from 'enn-info-panel';
import Schema from './info.schema.json';
export default {
components: {
InfoPanel,
},
data() {
return {
Schema,
data: {},
};
},
}
</script>
API
InfoPanel Attributes
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
schema | Object | 是 | - | 数据信息的 schema |
data | Object | 是 | - | 展示的数据 |
scenario | String | 否 | infoPanel | 环境变量 |
config | Object | 否 | - | 联动内使用的数据 |
hasBorder | Boolean | 否 | true | 控制是否显示边框 |
Tips
- schema 可使用 schema-form-editor 生成,格式参照 schema-form-render 所需 schema 的格式
- schema 中只有 activated、visible 可以控制当前项是否展示
config
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
emptySymbol | String | | - | 空值字段填充的符号 |
示例
插槽
<template>
<div>
<InfoPanel :schema="Schema" :data="data" >
<template #itemName="{value}">
{{value}}
</template>
</InfoPanel>
</div>
</template>
<script>
import InfoPanel from 'enn-info-panel';
import Schema from './info.schema.json';
export default {
components: {
InfoPanel,
},
data() {
return {
Schema,
data: {},
};
},
}
</script>
联动 scenario
{
"type": "input",
"label": "名称1",
"name": "key1",
"effect": "set('activated', scenario !== 'infoPanel');"
}
info.less
可以用来把 schema-form-render 生成的表单转为信息面板样式
注意:需要自行设置表单的只读或禁用
<SchemaFormRender class="enn-form-info-panel" />
BooleanResult
状态显示组件
示例
<template>
<div>
<BooleanResult :value="value"/>
</div>
</template>
<script>
import { BooleanResult } from 'enn-info-panel';
export default {
components: {
BooleanResult,
},
data() {
return {
value: true,
};
},
}
</script>
API
BooleanResult Attributes
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
value | Boolean | 是 | - | 渲染的值 |
config | Object | | | 渲染的配置项 |
minIcon | Boolean | | | 是否使用点的图标 |
status | Array | | | 多种状态展示 |
config Attributes
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
activeText | String | | 是 | true 状态的文案 |
inactiveText | String | | 否 | false 状态的文案 |
activeIcon | String | | el-icon-succes | true 状态的图标 class |
inactiveIcon | String | | el-icon-error | false 状态的图标 class |
emptySymbol | String | | "-" | 空值字段填充的符号 |
示例
<template>
<div>
<BooleanResult :value="value" :config="config" />
</div>
</template>
<script>
import { BooleanResult } from 'enn-info-panel';
export default {
components: {
BooleanResult,
},
data() {
return {
value: true,
config: {
activeText: '启用',
inactiveText: '停用',
activeIcon: 'el-icon-video-play',
inactiveIcon: 'el-icon-video-pause',
},
};
},
}
</script>
status Attributes
参数 | 类型 | 必填 | 默认值 | 说明 |
---|
value | String/Boolean/Number | | | 状态对应的值 |
label | String | | | 状态的文案 |
icon | String | | | 状态的图标 class |
color | String | | | icon 的颜色 |
minColor | String | | | minIcon 的颜色 |
Tips
- icon 只有 minIcon 为 false 的时候才会使用
- color 和 minColor 会互补,如果 color 没设置,会使用 minColor。反之一样。
示例
<template>
<div>
<BooleanResult :value="value" :status="status" />
</div>
</template>
<script>
import { BooleanResult } from 'enn-info-panel';
export default {
components: {
BooleanResult,
},
data() {
return {
value: 1,
status: [
{
value: 1,
label: '1',
icon: 'el-icon-user-solid',
color: 'red',
minColor: 'pink',
},
{
value: 2,
label: '2',
icon: 'el-icon-star-on',
color: 'green',
minColor: 'lightgreen',
},
{
value: 3,
label: '3',
icon: 'el-icon-s-goods',
color: 'blue',
minColor: 'lightblue',
},
],
};
},
}
</script>