Component 动态区块

动态block主要用于配置原生节点或者非block节点,如 <a/> <img/> <div/> 等元素,如 <el-tooltip> 等全局vue组件,方便进行一些布局调整或者是简单的功能;或者是集成自定义组件(要先通过 Vue.component('test', myComponent) 注册成全局组件 )

基础用法

一个 img 标签

Component 动态区块 - 图1

  1. {
  2. "type": "component",
  3. "options": {
  4. "is": "img"
  5. },
  6. "style": {
  7. "width": "200px",
  8. "height": "200px"
  9. },
  10. "props": {
  11. "src": "//b.appsimg.com/upload/vivaadmin/2018/11/07/69/1541579376290922128.png"
  12. }
  13. }

显示配置

插入TEXT和HTML

注意:插入的 HTML 会在 TEXT 前面。

Component 动态区块 - 图2

  1. {
  2. "type": "component",
  3. "options": {
  4. "is": "div",
  5. "text": "我是插进来的TEXT内容",
  6. "html": "<h3>我是插进来的HTML内容</h3>"
  7. }
  8. }

显示配置

HTML标签和elementUI组件标签组合

一个包含星星评分 el-rate 和操作按钮的 div

Component 动态区块 - 图3

  1. {
  2. "type": "component",
  3. "options": {
  4. "is": "div"
  5. },
  6. "style": {
  7. "padding": "100px"
  8. },
  9. "operations": {
  10. "test": {
  11. "type": "button",
  12. "label": "提交"
  13. }
  14. },
  15. "actions": {
  16. "test": function() {
  17. this.$message("你点击了提交按钮")
  18. }
  19. },
  20. "blocks": {
  21. "testBlockComponent": {
  22. "type": "component",
  23. "options": {
  24. "is": "el-rate"
  25. },
  26. "props": {
  27. "value": 4
  28. }
  29. }
  30. }
  31. }

显示配置

在线实验室

Component 动态区块 - 图4

Component 动态区块 - 图5

参数列表

参数说明可选值 | 类型必填
typeblock类型string
datadata可以指定当前block的初始数据,结构和fields保持一致null | object
config全局配置,和通过ams.config配置效果一致null | object
style可以设置区块的外层样式null | object
events可以配置对应事件的处理actionsnull | object
actions可以配置具体的action处理函数null | object
operations可以配置operation操作null | object
blocks可以配置多个子blocknull | object
render默认为false,配置为true则自动在body内渲染,如传入string则渲染在指定的querySelector上boolean | string
props会透传至底层的element-ui组件作为props属性,或者是原生dom元素的属性null | object
optionsblock特有配置null | object