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

产品品种从字典中获取

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

字典当中的保存

dict_type表

 dict_data表

在表单提交的方法中

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

  JSON.stringify(this.form.nature)

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

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

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

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

 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.查看操作结果

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

测试结果:

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-05-01 16:18:04       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-05-01 16:18:04       106 阅读
  3. 在Django里面运行非项目文件

    2024-05-01 16:18:04       87 阅读
  4. Python语言-面向对象

    2024-05-01 16:18:04       96 阅读

热门阅读

  1. 机器学习之sklearn基础教程

    2024-05-01 16:18:04       33 阅读
  2. 设计模式的原则与分类

    2024-05-01 16:18:04       29 阅读
  3. 中国南玻集团(三面)

    2024-05-01 16:18:04       27 阅读
  4. selenium4.x 之POM概况

    2024-05-01 16:18:04       32 阅读
  5. 【QT教程】QT6图形渲染与OpenGL编程

    2024-05-01 16:18:04       26 阅读
  6. Podman与Docker有何不同?

    2024-05-01 16:18:04       37 阅读
  7. uni框架下的前端小知识

    2024-05-01 16:18:04       31 阅读
  8. 代码随想录学习Day 32

    2024-05-01 16:18:04       32 阅读