
动态添加时间范围,如何置灰已选择时间?
问题:
在时间范围选择界面中,需要实现以下规则:
开始时段选择后,结束时段的值小于开始时段的置灰不能选择。选择了多个时间段后,已选的时间段置灰不能选择。
解决方法:
父组件代码示例:
编辑 删除 import { reactive, ref } from 'vue';import editdialog from './editdialog.vue';export default { data() { return { tabledata: reactive([]), } }, components: { editdialog }, methods: { // 编辑时间范围 handleedit(row) { this.$refs.editdialog.toggledialog(row); }, // 删除时间范围 handledelete(row) { this.tabledata = this.tabledata.filter(item => item !== row); }, },}
子组件(editdialog.vue)代码示例:
import { ref } from 'vue';import { validateTimeRange } from '@/utils/time';export default { props: ['visible', 'row'], setup(props, { emit }) { const formData = ref(props.row ? Object.assign({}, props.row) : {}); const handleClose = () => { emit('close'); }; const handleSave = () => { const isValid = validateTimeRange(formData.value); if (!isValid) { return; } emit('save', formData.value); handleClose(); }; return { formData, handleClose, handleSave }; },};
规则实现原理:
ViiTor实时翻译
AI实时多语言翻译专家!强大的语音识别、AR翻译功能。
116 查看详情
子组件 editdialog 负责管理时间范围的编辑,其中包含了输入开始时段、结束时段和备注的表单。
validatetimerange 函数用于校验时间范围的合法性,规则如下:
开始时段不能大于等于结束时段。时间范围不能与已有的时间范围交叉。
主组件 table 中的 handleedit 方法负责打开编辑对话框,传递当前选中的时间范围供子组件编辑。
handlesave 方法负责将编辑后的时间范围数据保存到主组件中,并将对话框关闭。
以上就是动态添加时间范围,如何实现已选时间段的置灰效果?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/414750.html
微信扫一扫
支付宝扫一扫