下拉框数据字典应用案例

插件:elemenu-ui中的el-select/el-option

以图内饰为例


代码展示 

v-for----------对insideColorList列表数据动态渲染遍历

步入正题

  • 在data数据中对insideColorList进行定义

insideColorList: cacheDataKeyString("INSIDE_COLOR"),
  • 在script中引入

import {cacheDataKeyString, cacheDateName} from '@/assets/js/utils';


在页面表格展示的时候

  • 在自定义组件上定义:dropCol

  • 在data数据中定义prop进行传递数据

 

  • 在methods中调用数据字典方法

setStatusShow(status, dictionary) { return ( "<span>" +cacheDateName(dictionary, status) + "</span>" ); },

  • 在页面加载表格数据的方法中拿到item的insideColorText其中为item.insideColor和 "INSIDE_COLOR",为setStatusShow的传递的参数
apiVehicle.getVehicleList(data).then(res => {
                let num1 = 0, num2 = 0;
                let list = res.data.data.list;
                if (list && list.length > 0) {
                    list.forEach(item => {
                        num1 += Number(item.price);
                        num2 += Number(item.grossWeight);
                        item.insideColorText = this.setStatusShow(item.insideColor, "INSIDE_COLOR")
                        item.outsideColorText = this.setStatusShow(item.outsideColor, "OUTSIDE_COLOR")
                        item.specificationsText = this.setStatusShow(item.specifications, "SPECIFICATIONS")
                    })
                }

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,针对您的问题,我可以给出以下思路: 1. 在 layui table 中使用下拉框,需要定义一个对应的 render 函数,在 render 函数中渲染下拉框,并将下拉框的值设置为对应的字典值。 2. 在进行数据字典翻译时,需要先将字典数据加载到前端,可以使用 ajax 请求后台接口获取字典数据。 3. 在进行表格数据渲染时,可以通过遍历表格数据,将需要翻译的字段进行翻译,并将翻译后的值设置为对应的下拉框选项。 下面是一个简单的示例代码,仅供参考: ```javascript // 定义一个字典数据对象 var dictData = { 1: '男', 2: '女' }; // 定义下拉框的 render 函数 function renderSelect(d) { var html = '<select lay-ignore>'; for (var key in dictData) { var selected = key == d.gender ? 'selected' : ''; html += '<option value="' + key + '" ' + selected + '>' + dictData[key] + '</option>'; } html += '</select>'; return html; } // 加载字典数据 $.ajax({ type: 'GET', url: '/dict/list', success: function(res) { dictData = res.data; } }); // 渲染表格 table.render({ elem: '#demo', cols: [[ {field: 'name', title: '姓名'}, {field: 'age', title: '年龄'}, {field: 'gender', title: '性别', templet: renderSelect} ]], data: [ {name: '张三', age: 18, gender: 1}, {name: '李四', age: 20, gender: 2}, {name: '王五', age: 22, gender: 1} ], done: function(res, curr, count) { // 在表格渲染完成后,遍历表格数据,将需要翻译的字段进行翻译 $('.layui-table-body table tr').each(function() { var genderTd = $(this).find('td[data-field="gender"]'); var genderValue = genderTd.text().trim(); genderTd.html(dictData[genderValue]); }); } }); ``` 以上代码仅供参考,具体实现需要根据您的实际需求进行调整。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值