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

郑州厉害的seo顾问公司深圳网站建设 乐云seo

郑州厉害的seo顾问公司,深圳网站建设 乐云seo,咸阳做网站价格,天津有哪些互联网公司如何实现el-select多选下拉框中嵌套复选框并加校验不为空功能呢? 要实现的效果图选择部分品牌但不选选项效果问题概述实现方案el-select组件与el-checkbox组件无缝衔接给form表单加自定义校验规则 要实现的效果图 选择部分品牌但不选选项效果 问题概述 相信大家看到…

如何实现el-select多选下拉框中嵌套复选框并加校验不为空功能呢?

  • 要实现的效果图
  • 选择部分品牌但不选选项效果
  • 问题概述
  • 实现方案
    • el-select组件与el-checkbox组件无缝衔接
    • 给form表单加自定义校验规则

要实现的效果图

在这里插入图片描述

选择部分品牌但不选选项效果

在这里插入图片描述

问题概述

相信大家看到上面的两张图片后,在脑子里多少会有一些实现思路,这是我最近在开发中遇到的一个小功能,本来看起来挺简单的,愣是控了我两个小时。立马有了一个记录下来的想法,以保证以后遇到一样的问题不被控。
下面我来说一下,我在做这个功能时遇到的一些问题。
第一个问题,el-select组件如何跟el-checkbox组件无缝衔接呢?
第二个问题,如何给这个form表单加校验呢?

实现方案

  1. 通过自定义下拉框内容嵌套复选框组件
  2. 通过@click.stop阻止下拉框中的原来的点击事件
  3. 通过自定义校验规则实现选择部分品牌时,下拉框不能为空功能

el-select组件与el-checkbox组件无缝衔接

实现代码如下:

<el-radio-group style="margin-bottom: 10px" v-model="radio"><el-radio label="all">全部品牌</el-radio><el-radio label="part">部分品牌</el-radio>
</el-radio-group>
<el-selectv-if="radio === 'part'"v-model="brandList"multipleplaceholder="请选择品牌"
><el-checkbox-groupv-model="brandList"@change="handleBrandChecked"><el-optionv-for="item in brandOptions":key="item.value":label="item.label":value="item.value"><div @click.stop><el-checkbox :label="item.value">{{ item.label }}</el-checkbox></div></el-option></el-checkbox-group>
</el-select>

温馨提示:一定要记得在data和methods中定义所需要的数据和方法哦
代码如下:

<script>export default {data() {return {// 单选框绑定值radio: '',// 品牌绑定值brandList: [],// 品牌选项brandOptions: [{value: "option1",label: "选项1",},{value: "option2",label: "选项2",},{value: "option3",label: "选项3",},],};},methods: {handleBrandChecked(val) {console.log(val);}}}
</script>

给form表单加自定义校验规则

最终代码如下:

<el-form label-position="top" :model="ruleForm" status-icon :rules="rules" ref="ruleForm" label-width="100px"><el-form-item label="授权品牌" prop="licensingBrand"><el-radio-group style="margin-bottom: 10px" v-model="ruleForm.licensingBrand"><el-radio label="all">全部品牌</el-radio><el-radio label="part">部分品牌</el-radio></el-radio-group><el-select v-if="ruleForm.licensingBrand === 'part'" v-model="brandList" multiple placeholder="请选择品牌"><el-checkbox-group v-model="brandList" @change="handleBrandChecked"><el-option v-for="item in brandOptions" :key="item.value" :label="item.label" :value="item.value"><div @click.stop><el-checkbox :label="item.value">{{ item.label }}</el-checkbox></div></el-option></el-checkbox-group></el-select></el-form-item><el-form-item><el-button type="primary" @click="submitForm('ruleForm')">提交</el-button><el-button @click="resetForm('ruleForm')">重置</el-button></el-form-item>
</el-form>
<script>export default {data() {var checkLicensingBrand = (rule, value, callback) => {if(value === 'part'){if(this.brandList.length === 0){callback(new Error("请选择授权品牌"));}else{callback();}}else{callback();}};return {ruleForm: {licensingBrand: '',},rules: {licensingBrand: [{ required: true, message: "请选中授权品牌", trigger: ["blur", "change"] },{ validator: checkLicensingBrand, trigger: 'change' }],},// 品牌绑定值brandList: [],// 品牌选项brandOptions: [{value: "option1",label: "选项1",},{value: "option2",label: "选项2",},{value: "option3",label: "选项3",},],};},methods: {submitForm(formName) {this.$refs[formName].validate((valid) => {if (valid) {alert('submit!');} else {console.log('error submit!!');return false;}});},resetForm(formName) {this.brandList = [];this.$refs[formName].resetFields();}}}
</script>

到此,想要的效果就实现了。
有需要的朋友,拿走不谢
咱们下次再见。

http://www.yayakq.cn/news/999691/

相关文章:

  • 在线开发网站建设网络营销实训总结报告
  • 模板网站如何引擎收录wordpress 常用的钩子
  • 企业app有哪些什么叫seo网络推广
  • 网站设计制作开发公司东莞有什么比较好的网站公司
  • 东莞住房和建设局网站网站生成静态慢原因
  • 保安公司网站如何做如何开通网络
  • 怎么用网站赚钱太仓建设工程网站
  • 企业网站营销网站沈阳优化网站关键词
  • 网站建设经典范例3步打造seo推广方案
  • 枫叶的网站建设博客wordpress页面如何设置新窗口打开
  • 个人网站开发项目报告定制化网站开发费用
  • aspnet东莞网站建设价格网站建设与开发课程内容
  • 通明建设网站crm订单管理系统
  • 个人帮忙做网站吗网站要钱怎么
  • 库尔勒网站建设哪家专业如何做一个网络营销
  • 深泽网站建设深圳网站制作厂家
  • wordpress 手机站目录做视频网站视频文件都存放在哪里
  • 建设监理协会网站如何创建一个平台
  • 帮别人做钓鱼网站吗wordpress js加载慢
  • 汉口制作网站重庆观音桥房价
  • 做医药中间体的外贸网站最近发生的国内热点事件
  • dede网站源码 如何wordpress网站生成app应用
  • 网站建设简单wordpress move插件
  • 怎样建立自己网站视频WordPress api发布接口
  • wordpress 更改数据库密码北京网络排名优化
  • 关键词排名怎么做好南通企业网站seo
  • 网站ui设计公司建设银行网站明细多长时间
  • wordpress 社交网站房地产市场现状
  • 建设春秋龙卡信用卡网站茶叶网站模板下载
  • 偃师网站制作h5设计制作