Vue通过下拉框选择字典值,并将对应的label以及value值提交到后端

产品品种从字典中获取

产品性质也是从字典中获取

字典当中的保存

dict_type表

dict_data表

在表单提交的方法中

1.因为做的产品性质是多选,它会以数组的方式提交,所以需要先将Json格式转变为String

javascript 复制代码
  JSON.stringify(this.form.nature)

2.提交表单,先访问了 dict 对象的 type 属性下的 product_breed 数组或对象。

2.1,在 product_breed 中寻找一个对象,其 value 属性等于 this.form.breed 的值。find 方法会遍历数组中的每个元素,如果回调函数返回 true,则返回当前元素。

2.2 ?. 是可选链操作符,如果 find 返回的不是 undefinednull,它会继续访问 .label。否则,由于 ?. 后面的表达式不会执行,整个表达式的结果将是 undefined

2.3 || '' 是逻辑或操作符,如果 find 结果(即 ?.label)是 undefinednull,则整个表达式的结果将被右侧的空字符串 '' 替代。

javascript 复制代码
 this.$refs["form"].validate((valid) => {

        if(valid){

           // 获取breed对应的label值

       const dictName = this.dict.type.product_breed.find(item => item.value === this.form.breed)?.label || '';

       this.form.dictName = dictName;  

 this.$refs["form"].validate((valid) => {

        if(valid){

           // 获取breed对应的label值

       const dictName = this.dict.type.product_breed.find(item => item.value === this.form.breed)?.label || '';

       this.form.dictName = dictName;  

3.查看操作结果

javascript 复制代码
 addMaterial(this.form).then(response=>{
            this.$modal.msgSuccess("录入成功");
            this.open1 = false;
            this.getList();
          }

测试结果:

相关推荐
奋飛几秒前
TypeScript系列:第六篇 - 编写高质量的TS类型
javascript·typescript·ts·declare·.d.ts
老A技术联盟几秒前
从小白入门,基于Cursor开发一个前端小程序之Cursor 编程实践与案例分析
前端·小程序
风铃喵游4 分钟前
构建引擎: 打造小程序编译器
前端·小程序·架构
sunbyte9 分钟前
50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | ThemeClock(主题时钟)
前端·javascript·css·vue.js·前端框架·tailwindcss
小飞悟17 分钟前
🎯 什么是模块化?CommonJS 和 ES6 Modules 到底有什么区别?小白也能看懂
前端·javascript·设计
浏览器API调用工程师_Taylor18 分钟前
AOP魔法:一招实现登录弹窗的全局拦截与动态处理
前端·javascript·vue.js
FogLetter19 分钟前
初识图片懒加载:让网页像"懒人"一样聪明加载
前端·javascript
微客鸟窝20 分钟前
一文搞懂NVM管理Node.js:从安装到实战全攻略
前端
归于尽21 分钟前
Cookie、Session、JWT 的前世今生
前端
程序员辉哥22 分钟前
学会在Cursor中使用Rules生成代码后可以躺平了吗?
前端·后端