一、form表单下拉表单类型字段数据获取

  1.通过配置系统字典接口获取数据并渲染

      {
label: "经纪人",
prop: "broker",
type: "select",
dicUrl: "/blade-system/dict/dictionary?code=broker",
props: {
label: "dictValue",
value: "dictKey",
},
dataType: "number",
},

  2.通过后台开发接口获取一级字段数据并赋值

     {
label: "经纪人",
prop: "broker",
type: "select",
dicData: [],
props: {
label: "name",
value: "id"
},
}, import {brokerGetlist} from "@/api/property/presalecontracts";
beforeOpen(done, type) {
let current = 1
let size = 10
// '经纪人'下拉表单字段数据
brokerGetlist(current, size,Object.assign({},{})).then(res => {
const column = this.findObject(this.option.column, "broker");
column.dicData = res.data.data.records;
})
},

  3.通过后台开发接口获取二级字段数据并赋值

      {
label: "复合图层",
prop: "layerResourceRelations",
type: "dynamic",
span: 12,
hide:true,
display:false,
children: {
align: "center",
addBtn:true,
column: [
{
label: "图层",
prop: "compositionRelationLandLayerId",
type: "select",
dicData: [],
props: {
label: "layerName",
value: "id"
},
}
]
}
}
beforeOpen(done, type) {
listByLayer().then(res => {
const column = this.findObject(this.option.column, "layerResourceRelations");
const column1 = this.findObject(column.children.column, "compositionRelationLandLayerId");
column1.dicData = res.data.data;
})
}

二、动态控制字段之间的联动

  1.动态赋值

     column: [
{
type: "select",
label:"编码",
prop: "Number",
dicData: [
{
label: "出让",
value: 12345645132,
},
{
label: "签约",
value: 19546561231,
}
]
}, {
type: "input",
label: "描述1",
prop: "desc1",
}, {
type: "input",
label: "描述2",
prop: "desc2",
},
] watch: {
// 监听'编码'字段选择之后动态赋值给其他form数据
'form.Number'(){
let id = this.form.Number
//当'编码'选择数据之后开始调接口
pregetDetail(id).then(res => {
this.form = res.data.data;
this.form.desc1 = data.desc1
this.form.desc2 = data.desc2
});
}
},

  2.动态显隐

        column: [
{
label: "图层类型",
prop: "layerType",
type: "select",
dicData: [
{
label: "出让",
value: 1,
},
{
label: "签约",
value: 2,
}
]
},
{
label: "图层名称",
prop: "layerName",
display:false, //是否显示默认值
},
{
label: "元数据类型",
prop: "metadataCode",
display:false, //是否显示默认值
},
] watch: {
'form.layerType'(val) {
let layerName= this.findObject(this.option.column,'layerName');
let metadataCode = this.findObject(this.option.column,'metadataCode');
if(val == 1){
layerName.display = true; //图层名称
metadataCode.display = true; //元数据类型
}else if(val == 2){
layerName.display = false; //图层名称
metadataCode.display = false; //元数据类型
}
},
},

  3.动态禁止

    column: [
{
label: "图层类型",
prop: "layerType",
type: "select",
dicData: [
{
label: "出让",
value: 1,
},
{
label: "签约",
value: 2,
}
]
},
{
label: "图层名称",
prop: "layerName",
disabled:false, //是否禁止默认值
},
{
label: "元数据类型",
prop: "metadataCode",
disabled:false, //是否禁止默认值
},
] watch: {
'form.layerType'(val) {
let layerName= this.findObject(this.option.column,'layerName');
let metadataCode = this.findObject(this.option.column,'metadataCode');
if(val == 1){
layerName.disabled = true; //图层名称
metadataCode.disabled = true; //元数据类型
}else if(val == 2){
layerName.disabled = false; //图层名称
metadataCode.disabled = false; //元数据类型
}
},
},

三、监听(区分判断新增或编辑弹窗)字段改变时赋值或者改变其他字段的值

        {
label: "图层类型",
prop: "layerType",
type: "select",
dataType: "number",
dicUrl: "/api/blade-system/dict/dictionary?code=layerType",
props: {
label: "dictValue",
value: "dictKey"
},
change:(val) =>{
if(val.column.boxType == 'add'){
//新增弹窗改变下拉表单数值的时候
this.form.switchDataSource = ''
this.form.dataLandLayerId = ''
}else if(val.column.boxType == 'edit'){
//编辑弹窗改变下拉表单数值的时候
this.form.switchDataSource = ''
}
}
},

四、avue-crud限制子表单类型dynamic最多添加几条数据

  需求:限制子表单type: "dynamic"最多可添加几条数据,超过限制条数则隐藏添加按钮但能正常删除,删除后还能继续添加

        {
label: "复合图层",
prop: "layerResourceAddresses",
type: "dynamic",
span: 12,
hide:true,
children: {
align: "center",
addBtn:true, //添加按钮显示
column: [
{
label: "图层",
prop: "layerResource",
type: "select",
dicData: [],
props: {
label: "name",
value: "id"
},
}]
}
}, //监听子表单总数据
watch: {
'form.layerResourceAddresses'(val) {
let layerResourceAddresses = this.findObject(this.option.column,'layerResourceAddresses'); //绑定子表单属性
if(val.length > 3){
this.$message.warning("最多可添加四条图层!");
layerResourceAddresses.children.addBtn = false //隐藏添加按钮
}else{
layerResourceAddresses.children.addBtn = true //显示添加按钮
}
}
},

avue-crud字段之间的动态交互效果以及接口数据的获取赋值的更多相关文章

  1. 前端开发---ppt展示页面评论区支持动态交互效果

    1. 工程地址:https://github.com/digitalClass/web_page 网站发布地址: http://115.28.30.25:8029/ 2. 用到的技术主要还是jquer ...

  2. 用wamp实现前端和php的交互效果

    我们今天来用php来做一下前台与后台的交互效果,首先我们先打开这个软件. 看一下电脑右下角的小图标 当变成之后鼠标左键 打开这个之后点击第二个之后会打开一个网站 点击右面页面的数据库打开新建数据库,填 ...

  3. AxureRP7.0各类交互效果汇总帖(转)

    了便于大家参考,我把这段时间发布分享的所有关于AxureRP7.0的原型做了整理. 以下资源均有对应的RP源文件可以下载. 当然 ,其中有部分是需要通过完成解密游戏[攻略]才能得到下载地址或者下载密码 ...

  4. Android中使用开源框架EventBus3.0实现Fragment之间的通信交互

    1.概述 在之前的博文中简单介绍过如何实现fragment之间的信息交互:<Android中Fragment与Activity之间的交互(两种实现方式)>,今天继续给大家介绍一种可以实现此 ...

  5. 微信网页悬浮窗交互效果的web实现

    一.微信的悬浮窗交互效果 微信更新后,发现多了个悬浮窗功能.公众号阅读,网页浏览回退后默认会出现.再点击,可以回到刚才阅读的地方.于是,再也不会遇到回复老婆的信息,再切换回来重新找刚才阅读东西的麻烦了 ...

  6. Axure教程:滑动进度条、圆形进度环的复杂交互效果实现方法

    滑动条.进度条.进度环,是产品原型中比较常见的进度展示功能.今天笔者分享的是使用Axure原型工具实现两种进度展示功能中相对复杂的交互效果. 效果一.可拖动.可显示进度值.可计算多个页面均值的滑动进度 ...

  7. Flutter实战视频-移动电商-32.列表页_小类高亮交互效果制作

    32.列表页_小类高亮交互效果制作 点击大类右侧的横向的小类红色显示当前的小类别 解决之前溢出的问题: 先解决一个bug,之前右侧的这里设置的高度是1000,但是有不同的虚拟机和手机设别的问题造成了溢 ...

  8. 静态网页怎样实现动态交互?-JavaScript

    在Html基础上,javascript能够开发交互式web网页.javascript的出现使得网页和用户之间实现了一种实时性的.动态的.交互性的关系,javascript短小精悍,又是在客户机上执行的 ...

  9. ABAP 动态备份自建表数据到新表(自建表有数据的情况下要改字段长度或者其他)

    当abaper开发好一个程序给用户使用一段时间后,发现某个字段的长度需要修改,但数据库表中已经存在很多数据,冒然直接改表字段可能会导致数据丢失,这种问题的后果可能非常严重. 所以我想到先复制出一个新表 ...

  10. 多功能前台交互效果插件superSlide

    平时我们常用的"焦点图/幻灯片""Tab标签切换""图片滚动""无缝滚动"等效果要加载n个插件,又害怕代码冲突又怕不兼容 ...

随机推荐

  1. FastWiki发布`0.2.4`支持js 函数

    FastWiki发布0.2.4支持js 函数 Release v0.2.4 · AIDotNet/fast-wiki (github.com) 支持JS动态functioncall调用 支持动态fun ...

  2. java中的内部类内部接口详解

    目录 简介 内部类 静态内部类 非静态内部类 静态方法内部类 非静态方法的内部类 匿名类 内部接口 总结 简介 一般来说,我们创建类和接口的时候都是一个类一个文件,一个接口一个文件,但有时候为了方便或 ...

  3. IDEA快捷键快速补齐类和对象名

    CTRL+ALT+V  ----------快速补齐 类和对象名 如:   new String("123") 光标放到最后 按下快捷键补齐为红色部分  String s = ne ...

  4. 通过 Traefik Hub 暴露家里的网络服务

    Traefik Hub 简介 ️Reference: 你的云原生网络平台 -- 发布和加固你的容器从未如此简单. Traefik Hub 为您在 Kubernetes 或其他容器平台上运行的服务提供一 ...

  5. HDC2022 开发者亮点抢先看,线上线下精彩活动等你探索!

    原文:https://mp.weixin.qq.com/s/A2sfpPKBvF6zwinbUsgwiw,点击链接查看更多技术内容.

  6. nginx重新整理——————分析log数据[六]

    前言 简单介绍一下goaccess. 正文 安装: yum install epel-release yum install GeoIP GeoIP-devel GeoIP-data yum inst ...

  7. ActiveMQ c# 系列——进阶实例(三)

    前言 前面介绍了基本的消费者和生产者,那么看下他们之间有什么其他的api. 正文 消费者设置等待时间 生产者生产了5条消息 改一下消费者. static void Main(string[] args ...

  8. Java:得到指定年份、月份、周次的最后一天

    使用Java的工具类Calendar 通过Calendar可以进行很多的日期操作 /** * 得到指定年份的最后一天 * @param year */ public static void getLa ...

  9. Effective Python:第2条 遵循PEP 8风格指南

    PEP8文档:https://peps.python.org/pep-0008/ 与空白有关的建议: 用空格(space)表示缩进,而不要用制表符(tab). 和语法相关的每一层缩进都用4个空格表示. ...

  10. 一遇到复杂分析查询就卡顿?MySQL分析实例了解一下

    随着企业数据爆发式增长,MySQL分析查询卡顿问题越来越多,用户时效性不能保证,精细化运营诉求不能满足.如何能无缝对接业务库,实现毫秒级针对万亿级数据进行即时的多维分析透视和业务探索,MySQL分析实 ...