avue-crud字段之间的动态交互效果以及接口数据的获取赋值
一、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字段之间的动态交互效果以及接口数据的获取赋值的更多相关文章
- 前端开发---ppt展示页面评论区支持动态交互效果
1. 工程地址:https://github.com/digitalClass/web_page 网站发布地址: http://115.28.30.25:8029/ 2. 用到的技术主要还是jquer ...
- 用wamp实现前端和php的交互效果
我们今天来用php来做一下前台与后台的交互效果,首先我们先打开这个软件. 看一下电脑右下角的小图标 当变成之后鼠标左键 打开这个之后点击第二个之后会打开一个网站 点击右面页面的数据库打开新建数据库,填 ...
- AxureRP7.0各类交互效果汇总帖(转)
了便于大家参考,我把这段时间发布分享的所有关于AxureRP7.0的原型做了整理. 以下资源均有对应的RP源文件可以下载. 当然 ,其中有部分是需要通过完成解密游戏[攻略]才能得到下载地址或者下载密码 ...
- Android中使用开源框架EventBus3.0实现Fragment之间的通信交互
1.概述 在之前的博文中简单介绍过如何实现fragment之间的信息交互:<Android中Fragment与Activity之间的交互(两种实现方式)>,今天继续给大家介绍一种可以实现此 ...
- 微信网页悬浮窗交互效果的web实现
一.微信的悬浮窗交互效果 微信更新后,发现多了个悬浮窗功能.公众号阅读,网页浏览回退后默认会出现.再点击,可以回到刚才阅读的地方.于是,再也不会遇到回复老婆的信息,再切换回来重新找刚才阅读东西的麻烦了 ...
- Axure教程:滑动进度条、圆形进度环的复杂交互效果实现方法
滑动条.进度条.进度环,是产品原型中比较常见的进度展示功能.今天笔者分享的是使用Axure原型工具实现两种进度展示功能中相对复杂的交互效果. 效果一.可拖动.可显示进度值.可计算多个页面均值的滑动进度 ...
- Flutter实战视频-移动电商-32.列表页_小类高亮交互效果制作
32.列表页_小类高亮交互效果制作 点击大类右侧的横向的小类红色显示当前的小类别 解决之前溢出的问题: 先解决一个bug,之前右侧的这里设置的高度是1000,但是有不同的虚拟机和手机设别的问题造成了溢 ...
- 静态网页怎样实现动态交互?-JavaScript
在Html基础上,javascript能够开发交互式web网页.javascript的出现使得网页和用户之间实现了一种实时性的.动态的.交互性的关系,javascript短小精悍,又是在客户机上执行的 ...
- ABAP 动态备份自建表数据到新表(自建表有数据的情况下要改字段长度或者其他)
当abaper开发好一个程序给用户使用一段时间后,发现某个字段的长度需要修改,但数据库表中已经存在很多数据,冒然直接改表字段可能会导致数据丢失,这种问题的后果可能非常严重. 所以我想到先复制出一个新表 ...
- 多功能前台交互效果插件superSlide
平时我们常用的"焦点图/幻灯片""Tab标签切换""图片滚动""无缝滚动"等效果要加载n个插件,又害怕代码冲突又怕不兼容 ...
随机推荐
- 【直播回顾】OpenHarmony知识赋能五期第三课——多媒体整体介绍
5月5日晚上19点,知识赋能第五期第三节课<OpenHarmony标准系统多媒体子系统整体介绍>,在OpenHarmony开发者成长计划社群内成功举行. 本期课程,由深开鸿资深技术专家郭岳 ...
- 许北林:我为什么加入OpenHarmony生态?又为什么要做“启航KP”开发套件?
许北林 软通动力 资深项目经理 在全球开源趋势下,中国正逐渐成为全球开源软件的主要使用者和核心贡献者.今天我们来认识一位接触 OpenHarmony 不到一年,便带领团队成功开发出一款"启航 ...
- 数据库SQL(MSSQLSERVER)服务启动错误代码3414
昨天永和客户联系我,说他们的前台系统报错了,给我发了报错的图片.看到错误的第一眼就知道是数据库出问题了,连不上sql Server. 虽然知道是数据库出问题了,但是刚开始的时候没有打开SQL Serv ...
- Elasticjob 3.x 最新版本源码解读(含备注源码)
源码地址(含备注):https://gitee.com/ityml/elastic-job-zgc 官方网站: https://shardingsphere.apache.org/elasticjob ...
- MyBatis-Plus 代码生成(旧)
MyBatis-Plus官网的代码生成器配置不是特别全,在此整理了较为完整的配置,供自己和大家查阅学习. // 代码生成器 AutoGenerator mpg = new AutoGenerator( ...
- 日调用量超600亿次,HMS Core HiAI Foundation助力AI应用高效开发
随着新技术的不断演进,人工智能已经广泛地应用到教育.金融.物流.零售.交通.医疗等各个领域.而在AI高速发展的当下,高效开发变得更为重要,如何将创意想法与AI技术深度融合,迅速转化为可落地的AI应用, ...
- 从 Oracle 到 MySQL 数据库的迁移之旅
目录 引言 一.前期准备工作 1.搭建新的MySQL数据库 2 .建立相应的数据表 2.1 数据库兼容性分析 2.1.1 字段类型兼容性分析 2.1.2 函数兼容性分析 2.1.3 是否使用存储过程? ...
- How Python Handles Big Files
The Python programming language has become more and more popular in handling data analysis and proc ...
- c# 后端与前端时间戳的转换
C# DateTime与时间戳转换 C# DateTime与时间戳的相互转换,包括JavaScript时间戳和Unix的时间戳. 1. 什么是时间戳 首先要清楚JavaScript与Unix的时间戳的 ...
- VulnHub-ical打靶记录
这绝对是最简单的一个题目了. 目标发现 netdiscover -r 192.168.0.10/24 根据靶场和本地系统的网段进行扫描. 信息收集 nmap -sV -Pn -sT -sC -A 19 ...