AJ-Report二次开发4:定义多个默认初始化值,组件主动触发联动

本文主要是介绍AJ-Report二次开发4:定义多个默认初始化值,组件主动触发联动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 上篇的抛砖引玉,如何新增自定义组件:AJ-Report二次开发2:新增自定义组件_大概是只仓鼠的博客-CSDN博客

 新增组件被联动的方法:AJ-Report二次开发1:表格组件联动_大概是只仓鼠的博客-CSDN博客

这次的用户需求如下:

由于查询参数不能对单个页面一开始设置初始化值,所以想要做一个,静态数据defaultText,要求一开始主动联动,后续不做处理。

即:静态已知参数进入页面的一个初始化。


一、创建引用文件

详细请参考:

AJ-Report二次开发2:新增自定义组件_大概是只仓鼠的博客-CSDN博客

简单提点,

1、在src\views\bigscreenDesigner\designer\widget\form\下面根据下拉框组件(WidgetSelect.vue),复制一份文件改名为widgetDefaultText.vue,修改name(其他稍后修改)。

2、在src\views\bigscreenDesigner\designer\tools\configure\form\下面根据下拉框组件(WidgetSelect),复制一份文件改名为widget-default-text.js,修改export const和label相关(其他稍后修改)。

3、修改相关引用

(1)src\views\bigscreenDesigner\designer\widget\widget.vue

(2)src\views\bigscreenDesigner\designer\widget\temp.vue

(3)src\views\bigscreenDesigner\designer\tools\main.js

二、配置文件

这里是打算只需要用静态数据做一个初始联动,所以可以暂时去除动态数据。

1、在src\views\bigscreenDesigner\designer\tools\configure\form\widget-default-text.js修改相关信息

export const widgetDefaultText = {code: 'widget-default-text',type: 'form',tabName: '表单',label: '初始默认框',//需要修改名字icon: 'icondanhangshurukuang',//根据实际情况修改iconoptions: {setup: [{type: 'el-input-text',label: '图层名称',name: 'layerName',required: false,placeholder: '',value: '初始默认框',//需要修改名字}, //这里设置是否显示配置信息(一般不会显示){type: 'el-switch',label: '是否显示',name: 'showTextarea',value: false,},[{name: '组件联动',list: [{type: 'componentLinkage',label: '',name: 'componentLinkage',required: false,value: []}]}]],//这里设置组件联动data: [{type: 'el-radio-group',label: '数据类型',name: 'dataType',require: false,placeholder: '',selectValue: true,selectOptions: [{code: 'staticData',name: '静态数据',}],value: 'staticData',},{type: 'el-button',label: '静态数据',name: 'staticData',required: false,placeholder: '',relactiveDom: 'dataType',relactiveDomValue: 'staticData',value: [{value1:'%',}],},{type: 'dycustComponents',label: '',name: 'dynamicData',required: false,placeholder: '',relactiveDom: 'dataType',relactiveDomValue: 'dynamicData',chartType: 'widget-table',dictKey: 'TEXT_PROPERTIES',value: '',},],position: [{type: 'el-input-number',label: '左边距',name: 'left',required: false,placeholder: '',value: 0,},{type: 'el-input-number',label: '上边距',name: 'top',required: false,placeholder: '',value: 0,},{type: 'el-input-number',label: '宽度',name: 'width',required: false,placeholder: '该容器在1920px大屏中的宽度',value: 100,},{type: 'el-input-number',label: '高度',name: 'height',required: false,placeholder: '该容器在1080px大屏中的高度',value: 40,},],}
}

2、增加组件联动条件

在src\views\bigscreenDesigner\designer\linkageLogic.js的lickageParamsConfig增加联动数据:

  {name:'默认值',code: 'widget-default-text',paramsKey: ['value1','value2','value3','value4','value5','value6','value7','value8','value9','value10',]},

效果如下,这里预留了10个参数:

3、修改src\views\bigscreenDesigner\designer\widget\form\widgetDefaultText.vue文件

这里我只打算放一个disable的textarea显示静态数据配置项,也可以不写,不过为了观察方便,建议写上,

<template><el-input v-show="showTextarea":style="styleObj"type="textarea":rows="2"v-model="textarea"disabled></el-input>
</template>
<script>
import {originWidgetLinkageLogic,
} from "@/views/bigscreenDesigner/designer/linkageLogic";
export default {name: "widgetDefaultText",props: {value: Object,ispreview: Boolean,widgetIndex: {type: Number,default: 0,},},data() {return {textarea: "",showTextarea:true,optionsStyle: {},optionsData: {},optionsSetup: {},};},computed: {styleObj() {return {position: this.ispreview ? "absolute" : "static",width: this.optionsStyle.width + "px",height: this.optionsStyle.height + "px",left: this.optionsStyle.left + "px",top: this.optionsStyle.top + "px",background: this.optionsSetup.select_background,color: this.optionsSetup.select_color,};},allComponentLinkage() {return this.$store.state.designer.allComponentLinkage;},},watch: {value: {handler(val) {this.optionsSetup = val.setup;this.optionsData = val.data;this.optionsStyle = val.position;},deep: true,},},mounted() {this.optionsSetup = this.value.setup;this.optionsData = this.value.data;this.optionsStyle = this.value.position;this.showTextarea = this.value.setup.showTextareatry {this.textarea = JSON.stringify(this.optionsData.staticData)} catch(err){console.error(err)}// targetWidgetLinkageLogic(this); // 联动-目标组件逻辑originWidgetLinkageLogic(this, true, {currentData: this.optionsData.staticData[0],});},methods: {changeTab() {console.log(this.inputValue);originWidgetLinkageLogic(this, true, {currentData: this.inputValue,}); // 联动-源组件逻辑},},
};
</script>
<style lang="scss" scoped></style>

然后就可以了,可以设置不显示,但不建议默认不显示。

这篇关于AJ-Report二次开发4:定义多个默认初始化值,组件主动触发联动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/799585

相关文章

JVM 的类初始化机制

前言 当你在 Java 程序中new对象时,有没有考虑过 JVM 是如何把静态的字节码(byte code)转化为运行时对象的呢,这个问题看似简单,但清楚的同学相信也不会太多,这篇文章首先介绍 JVM 类初始化的机制,然后给出几个易出错的实例来分析,帮助大家更好理解这个知识点。 JVM 将字节码转化为运行时对象分为三个阶段,分别是:loading 、Linking、initialization

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

c++的初始化列表与const成员

初始化列表与const成员 const成员 使用const修饰的类、结构、联合的成员变量,在类对象创建完成前一定要初始化。 不能在构造函数中初始化const成员,因为执行构造函数时,类对象已经创建完成,只有类对象创建完成才能调用成员函数,构造函数虽然特殊但也是成员函数。 在定义const成员时进行初始化,该语法只有在C11语法标准下才支持。 初始化列表 在构造函数小括号后面,主要用于给

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

kubelet组件的启动流程源码分析

概述 摘要: 本文将总结kubelet的作用以及原理,在有一定基础认识的前提下,通过阅读kubelet源码,对kubelet组件的启动流程进行分析。 正文 kubelet的作用 这里对kubelet的作用做一个简单总结。 节点管理 节点的注册 节点状态更新 容器管理(pod生命周期管理) 监听apiserver的容器事件 容器的创建、删除(CRI) 容器的网络的创建与删除

火语言RPA流程组件介绍--浏览网页

🚩【组件功能】:浏览器打开指定网址或本地html文件 配置预览 配置说明 网址URL 支持T或# 默认FLOW输入项 输入需要打开的网址URL 超时时间 支持T或# 打开网页超时时间 执行后后等待时间(ms) 支持T或# 当前组件执行完成后继续等待的时间 UserAgent 支持T或# User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器