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

vue3中两个el-select下拉框选项相互影响

vue3中两个el-select下拉框选项相互影响

  • 1、开发需求
  • 2、代码
    • 2.1 定义hooks文件
    • 2.2 在组件中使用

1、开发需求

如图所示,在项目开发过程中,遇到这样一个需求,常规时段中选中的月份在高峰时段中是禁止选择的状态,反之亦然。
在这里插入图片描述

2、代码

2.1 定义hooks文件

// hooks/useMonth.js
export default function () {const monthOptions = [{value: 'January',label: '1月',disabled: false,},{value: 'February',label: '2月',disabled: false,},{value: 'March',label: '3月',disabled: false,},{value: 'April',label: '4月',disabled: false,},{value: 'May',label: '5月',disabled: false,},{value: 'June',label: '6月',disabled: false,},{value: 'July',label: '7月',disabled: false,},{value: 'August',label: '8月',disabled: false,},{value: 'September',label: '9月',disabled: false,},{value: 'October',label: '10月',disabled: false,},{value: 'November',label: '11月',disabled: false,},{value: 'December',label: '12月',disabled: false,},]//把方法和数据返回出去return {monthOptions,}
}

2.2 在组件中使用

<template><el-select v-model="peakMonth" multiple placeholder="请选择月份" @change="handleMonth"><el-option v-for="month in monthOptions" :key="month.value" :label="month.label":value="month.value" :disabled="month.disabled" /></el-select>
</template>
<script setup>
import { reactive, ref, watch } from 'vue'
//引入hooks文件
import useMeasurementCommon from "@/hooks/useMeasurementCommon"
const { monthOptions } = useMeasurementCommon()
// 处理月份选择的回调
let monthsArr = ref([])
const handleMonth = (month) => {console.log(month)monthsArr.value.push(...month)console.log(monthsArr)console.log(monthOptions)monthOptions.forEach(item => {if (monthsArr.value.indexOf(item.value) !== -1) {item.disabled = true} else {item.disabled = false}})
}
</script>
http://www.lryc.cn/news/174779.html

相关文章:

  • 博弈论——反应函数
  • UE5读取json文件
  • Vue中的插槽--组件复用,内容自定义
  • 完全指南:mv命令用法、示例和注意事项 | Linux文件移动与重命名
  • gitee生成公钥和远程仓库与本地仓库使用验证
  • 请求后端接口413
  • HarmonyOS之 开发环境搭建
  • QTC++ day12
  • Vue3中使用Proxy API取代defineProperty API的原因
  • 构建工具Webpack简介
  • Docker部署单点Elasticsearch与Kibana
  • opencv实现仿射变换和透射变换
  • 抖音seo账号矩阵源码系统
  • 性能优化之防抖
  • postgresql用户和角色
  • 设计模式之备忘录模式
  • 大数据Flink(八十八):Interval Join(时间区间 Join)
  • 数字IC笔试千题解--判断题篇(五)
  • Kubernetes(k8s)上搭建一主两从的mysql8集群
  • MySQL备份与恢复
  • 【RTOS学习】单片机中的C语言
  • 确知波束形成matlab仿真
  • 并发编程相关面试题
  • Cpp/Qt-day050921Qt
  • 视频汇聚/视频云存储/视频监控管理平台EasyCVR分发rtsp流起播慢优化步骤详解
  • ElementUI之登陆+注册->饿了吗完成用户登录界面搭建,axios之get请求,axios之post请求,跨域,注册界面
  • 2023华为杯研究生数学建模研赛E题出血脑卒中完整论文(含28个详细预处理数据及结果表格)
  • Java中的继承是什么?
  • Python - flask后端开发笔记
  • Flutter实现PS钢笔工具,实现高精度抠图的效果。