avue-crud 表格编辑属性联动

avue-crud 表格编辑属性框于框联动

起因:
最近用了一个很好用的搬砖神器,叫Avue;他的表格是真的太好用了;封装了很多很多功能;什么行列拖拽,修改弹窗,编辑弹窗,查看弹窗,等待加载等等。。。
用的时候爽的很,但是要修改一些特殊功能时,就很头大。然后就遇到了一个联动功能,比如我正常框架写的编辑弹窗,要表单的一个下拉属性控制另外一个属性的显隐;很简单,一个v-if=“某个值的判定条件”就可以实现了。但是Avue却很麻烦,我查了很多文档都没有关于表单编辑属性控制相关的;因为它把所有的控制都囊括到option里面去了,导致完全没法用插槽之类的去控制;不过还好,我在它官方文档反复徘徊,终究拿下了解决方案。
解决:
在它本身对表单操作里面有个方法叫做control,用这个方法得注意的是Avue2.8.6之后;因为在这之前是没有这个方法的,只能很繁琐的去监听,而现在一个control就可以达到我们联动效果。话不多说,上代码:

 {
                        label: "参数类型",
                        prop: "type",
                        type: "select",
                        // 前端默认数据
                        dicData: [     // 下拉内容, 格式数组对象,  label: 显示内容  value: 值
                            { label: '参数分组', value: 0 },
                            { label: '参数选项', value: 1 },
                        ],
                        control: (val, form) => {
                            console.log(val, form, '编辑表单属性控制');
                            if (val == 0) {
                                return {
                                    groupName: {
                                        display: true
                                    },
                                    id: {
                                        display: false
                                    }
                                }
                            } else {
                                return {
                                    groupName: {
                                        display: false
                                    },
                                    id: {
                                        display: true
                                    }
                                }
                            }
                        },
                        search: true,
                        rules: [{
                            required: true,
                            message: "请进行参数类型",
                            trigger: "blur"
                        }],
                        /*    formatter: (row) => {
                               console.log(row, 'row');
                           } */
                    },
   {
                        label: "分组名称",
                        prop: "groupName",
                        hide: true,
                        display: true,
                        rules: [{
                            required: true,
                            message: "请输入分类ID",
                            trigger: "blur"
                        }]
                    },
                    {
                        label: "分组",
                        prop: "id",
                        hide: true,
                        type: "select",
                        display: true,
                        dicUrl: "/api/thunder/paras/list?current=1&size=10",
                        props: {
                            label: "groupName",
                            value: "id"
                        },
                        // editDisplay: false,//表单编辑是否可见
                        rules: [{
                            required: true,
                            message: "请选择分组",
                            trigger: "blur"
                        }]
                    },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值