动态添加时间范围,如何实现已选时间段的置灰效果?

动态添加时间范围,如何实现已选时间段的置灰效果?

动态添加时间范围,如何置灰已选择时间?

问题:
在时间范围选择界面中,需要实现以下规则:

开始时段选择后,结束时段的值小于开始时段的置灰不能选择。选择了多个时间段后,已选的时间段置灰不能选择。

解决方法:

父组件代码示例:

                                编辑        删除            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实时翻译 ViiTor实时翻译

AI实时多语言翻译专家!强大的语音识别、AR翻译功能。

ViiTor实时翻译 116 查看详情 ViiTor实时翻译

子组件 editdialog 负责管理时间范围的编辑,其中包含了输入开始时段、结束时段和备注的表单。

validatetimerange 函数用于校验时间范围的合法性,规则如下:

开始时段不能大于等于结束时段。时间范围不能与已有的时间范围交叉。

主组件 table 中的 handleedit 方法负责打开编辑对话框,传递当前选中的时间范围供子组件编辑。

handlesave 方法负责将编辑后的时间范围数据保存到主组件中,并将对话框关闭。

以上就是动态添加时间范围,如何实现已选时间段的置灰效果?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/414750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
199 元 华为 FreeBuds SE 3 开售
上一篇 2025年11月7日 00:45:00
java对象类型数组怎么赋值
下一篇 2025年11月7日 00:45:12

相关推荐

发表回复

登录后才能评论
关注微信