一、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. UJCMS 9.1.0 发布,国内开源 java cms

    许可协议从GPL-2改为Apache-2.0,更宽松的协议,方便用户将系统集成到自身的应用中. 修复了已知bug,系统更加稳定. 升级日志(9.1.0) 修复前台全文搜索没有结果 web.xml se ...

  2. Perm 排列计数——Lucas&dfs

    思路:这道题给出的公式看明白后即可得出正解,我们可以把他想象成一颗二叉树,任意一个点的任意一个子孙一直除以2后最终都会到达一终点,终点则为以该点为根的子树的最小值. so--我们可以将根节点作为最后终 ...

  3. 抓包整理————tcp 三次握手[九]

    前言 简单抓包一下3次握手. 正文 握手的目标: 同步sequence 序列化 初始化序列化ISN(Initial Sequence Number) 交换tcp 通信参数 如MSS.窗口比例因子.选择 ...

  4. 如何使用XSSFWorkbook读取文本薄?

    [版权声明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) https://www.cnblogs.com/cnb-yuchen/p/18146625 出自[进步*于辰的博客] 1.文件兼容类 ...

  5. 力扣1098(MySQL)-小众书籍(中等)

    题目: 书籍表 Books: book_id 是这个表的主键 订单表 Orders: order_id 是这个表的主键.book_id 是 Books 表的外键. 问题你需要写一段 SQL 命令,筛选 ...

  6. 谈谈PolarDB-X在读写分离场景的实践

    简介: 针对写少读多的业务可以考虑通过添加数据库节点来使其达到提升性能的目的,但添加节点,往往涉及到数据的搬迁,扩容周期比较长,很难应对徒增的业务流量,这个时候可以考虑采用读写分离的方式,将读写流量做 ...

  7. MaxCompute项目子账号做超级管理员

    场景 主账号不是大数据团队管理,使用MaxCompute员工都只持有子账号,而project的owner只能为主账号,但是很多MaxCompute的权限管理还需要owner才可以操作(如项目级别的fl ...

  8. DataX在数据迁移中的应用

    简介: DataX在数据迁移中的应用 1. DataX定义 首先简单介绍下datax是什么.DataX是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlSe ...

  9. RocketMQ 端云一体化设计与实践

    简介:本文首先介绍了端云消息场景一体化的背景,然后重点分析了终端消息场景特点,以及终端消息场景支撑模型,最后对架构和存储内核进行了阐述.我们期望基于 RocketMQ 统一内核一体化支持终端和服务端不 ...

  10. 快手基于 Flink 的持续优化与实践

    简介: 快手基于 Flink 的持续优化与实践的介绍. 一.Flink 稳定性持续优化 第一部分是 Flink 稳定性的持续优化.该部分包括两个方面,第一个方面,主要介绍快手在 Flink Kafka ...