当前位置: 首页 > news >正文

vueui vxe-form 分享实现表单项的联动禁用,配置式表单方式的用法

官网文档:https:/vxeui.com 实现表单项的联动禁用

在使用 vxe-form 时,有时候需要将表单项直接进行关联操作,比如某一项选择后,另外一项设置为禁用状态不可选择,使用插槽的话神容易实现,本章是分享配置式的联动用法

在这里插入图片描述

<template><div><vxe-form v-bind="formOptions" ><template #action><vxe-button type="reset">重置</vxe-button><vxe-button type="submit" status="primary">提交</vxe-button></template></vxe-form></div>
</template><script setup>
import { reactive } from 'vue'
import XEUtils from 'xe-utils'const sexItemRender = reactive({name: 'VxeSelect',options: [{ label: '女', value: 'Women' },{ label: '男', value: 'Man' }],events: {change ({ data }) {const isDisabled = data.sex !== 'Women'roleItemRender.props.disabled = isDisabled}}
})const roleItemRender = reactive({name: 'VxeSelect',props: {disabled: true},options: [{ label: 'Develop', value: '1' },{ label: 'PM', value: '2' },{ label: 'Testing', value: '3' },{ label: 'Designer', value: '4' }]
})const startTimeItemRender = reactive({name: 'VxeDatePicker',props: {disabledMethod ({ date }) {const endTime = formOptions.data.endTimeif (endTime) {const eDate = XEUtils.toStringDate(endTime)return date >= eDate}return false}}
})const endTimeItemRender = reactive({name: 'VxeDatePicker',props: {disabledMethod ({ date }) {const startTime = formOptions.data.startTimeif (startTime) {const sDate = XEUtils.toStringDate(startTime)return date <= sDate}return false}}
})const formOptions = reactive({titleWidth: 120,titleAlign: 'right',data: {name: 'test1',nickname: '',sex: '',role: '',startTime: '',endTime: ''},items: [{ field: 'name', title: 'Name', span: 24, itemRender: { name: 'VxeInput' } },{ field: 'sex', title: 'Sex', span: 12, itemRender: sexItemRender },{ field: 'role', title: 'Role', span: 12, itemRender: roleItemRender },{ field: 'startTime', title: 'Start time', span: 12, itemRender: startTimeItemRender },{ field: 'endTime', title: 'End time', span: 12, itemRender: endTimeItemRender },{ align: 'center', span: 24, slots: { default: 'action' } }]
})
</script>

github https://github.com/x-extends/vxe-pc-ui
gitee https://gitee.com/x-extends/vxe-pc-ui

http://www.lryc.cn/news/477472.html

相关文章:

  • 供应SW1655集成功率管的高频率、高性能同步整流
  • 电动机出现故障后怎么处理?
  • 练习LabVIEW第四十题
  • 蓝牙BLE开发——红米手机无法搜索蓝牙设备?
  • UE5.4 PCG Layered Biomes插件
  • 搭建你的私人云盘:使用File Browser与cpolar实现公网传输文件
  • QT/QT QUICK与前端WEB开发的区别
  • Python+Playwright(Nuitka、Pyinstaller打包)
  • 2024年前三季度币安、OKX等五大交易所上币表现分析
  • Go语言sync.WaitGroup与errgroup.Group用法详解
  • 【大数据学习 | kafka】kafka的ack和一致性
  • 学习虚幻C++开发日志——定时器
  • 问政浔川(1)—— 有了浔川社团官方联合会和社团官方,那么浔川总社部是干什么的呢?
  • 区块链技术应用--电子签章(模块三)
  • 多面体定义+多面体是凸集+多面体的重要性质
  • 为什么 Allow 配合 meta noindex 比使用Disallow好?
  • 通讯学徒学习日记
  • 迪杰斯特拉算法
  • IPsec传输模式与隧道模式的深度解析及应用实例
  • 实现Vue3/Nuxt3 预览excel文件
  • 【AI落地应用实战】HivisionIDPhotos AI证件照制作实践指南
  • php实现sl651水文规约解析
  • 【Linux】简易版shell
  • 宝塔Linux面板安装PHP扩展失败报wget: unable to resolve host address ‘download.bt.cn’
  • 问:Redis常见性能问题及解法?
  • Imperva 数据库与安全解决方案
  • 【JavaScript】之文档对象模型(DOM)详解
  • 速盾:cdn域名与ip区别
  • 如何优雅的在页面上嵌入AI-Agent人工智能
  • 如何对LabVIEW软件进行性能评估?