一、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. 【直播回顾】OpenHarmony知识赋能五期第三课——多媒体整体介绍

    5月5日晚上19点,知识赋能第五期第三节课<OpenHarmony标准系统多媒体子系统整体介绍>,在OpenHarmony开发者成长计划社群内成功举行. 本期课程,由深开鸿资深技术专家郭岳 ...

  2. 许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?

    许北林 软通动力 资深项目经理 在全球开源趋势下,中国正逐渐成为全球开源软件的主要使用者和核心贡献者.今天我们来认识一位接触 OpenHarmony 不到一年,便带领团队成功开发出一款"启航 ...

  3. 数据库SQL(MSSQLSERVER)服务启动错误代码3414

    昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...

  4. Elasticjob 3.x 最新版本源码解读(含备注源码)

    源码地址(含备注):https://gitee.com/ityml/elastic-job-zgc 官方网站: https://shardingsphere.apache.org/elasticjob ...

  5. MyBatis-Plus 代码生成(旧)

    MyBatis-Plus官网的代码生成器配置不是特别全,在此整理了较为完整的配置,供自己和大家查阅学习. // 代码生成器 AutoGenerator mpg = new AutoGenerator( ...

  6. 日调用量超600亿次,HMS Core HiAI Foundation助力AI应用高效开发

    随着新技术的不断演进,人工智能已经广泛地应用到教育.金融.物流.零售.交通.医疗等各个领域.而在AI高速发展的当下,高效开发变得更为重要,如何将创意想法与AI技术深度融合,迅速转化为可落地的AI应用, ...

  7. 从 Oracle 到 MySQL 数据库的迁移之旅

    目录 引言 一.前期准备工作 1.搭建新的MySQL数据库 2 .建立相应的数据表 2.1 数据库兼容性分析 2.1.1 字段类型兼容性分析 2.1.2 函数兼容性分析 2.1.3 是否使用存储过程? ...

  8. How Python Handles Big Files

     The Python programming language has become more and more popular in handling data analysis and proc ...

  9. c# 后端与前端时间戳的转换

    C# DateTime与时间戳转换 C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的 ...

  10. VulnHub-ical打靶记录

    这绝对是最简单的一个题目了. 目标发现 netdiscover -r 192.168.0.10/24 根据靶场和本地系统的网段进行扫描. 信息收集 nmap -sV -Pn -sT -sC -A 19 ...