电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

vue+elementUI下拉框回顯問題及解決方式

瀏覽:129日期:2022-06-01 18:29:52
目錄
  • vue elementUI下拉框回顯問題
    • 正確回顯格式應該是這樣
    • 而回顯的確實這個值的id
  • vue下拉框回顯映射
    • 單選框
    • 多選框
    • 級聯框
  • 總結

    vue elementUI下拉框回顯問題

    在開發過程中,總會做到修改功能,但是在修改回顯的時候,發現下拉框始終回顯的是id而不是文本

    下面看案例

    正確回顯格式應該是這樣

    而回顯的確實這個值的id

    原因是因為在給select復制的時候沒有重新渲染,一開始我的編輯回顯方法是這樣

    // 編輯回顯    edit() {    	// 通過選中id查詢信息      axios.get("/xxx/xxx/id", {  params: { id: this.selectedRows[0].ID }}).then((reponse) => {// 然后直接賦值到表單上  this.recordFrom = reponse.data.data[0]})	   // 打開表單頁面      this.editRecordDialog = true    }

    直接將查詢的數據賦值到表單中,只會賦值返回回來的值,如果v-model綁定的值是id,則只會顯示id,如果綁定的值是name,則只會顯示name。

    所以,給表單賦值的時候需要重新渲染一下下拉框

    給賦值之后下面增加了一個查詢下拉框的方法

    // 編輯回顯    edit() {    	// 通過選中id查詢信息      axios.get("/xxx/xxx/id", {  params: { id: this.selectedRows[0].ID }}).then((reponse) => {// 然后直接賦值到表單上  this.recordFrom = reponse.data.data[0]})       // 重新查詢下拉框方法       this.getNumber2()	   // 打開表單頁面      this.editRecordDialog = true    }

    查詢方法代碼:

    // 查詢版本號到下拉框    getNumber2() {      axios.get("xxx/xxx/number", {       params: { id: this.proNameSelect } })      .then((reponse) => {var obj = reponse.data.datafor (var i = 0; i < obj.length; i++) {  this.options5.push({ value: obj[i].ID, label: obj[i].versionNumber })}      })    }

    這里附上下拉框的代碼:

    <el-form-item label="版本號" prop="verID"> <el-select v-model="recordFrom.verID" placeholder="請選擇版本號">  <el-option v-for="item in options5" :key="item.ID" :label="item.versionNumber" :value="item.ID"> </el-option> </el-select></el-form-item>

    重新渲染之后,就可以正常回顯啦!

    vue下拉框回顯映射

    大家在做項目的時候,應該非常的容易遇到,下拉框的回顯問題吧?包括單選框,復選框,級聯框的回顯

    如果使用組件的話,比如element-UI,他們內部有自己的映射方法,將id傳過去自己能回顯到下拉框中,還是挺方便的,可是如果給一個id 讓你映射出他所對應的名字,你要怎么辦呢?讓我們一起來看看吧?

    單選框

    • 后端返回的:
    value: "選項1"
    • 下拉數組:
    options: [{? ? ? ? ? value: "選項1",? ? ? ? ? label: "黃金糕"? ? ? ? }, {? ? ? ? ? value: "選項2",? ? ? ? ? label: "雙皮奶"? ? ? ? }, {? ? ? ? ? value: "選項3",? ? ? ? ? label: "蚵仔煎"? ? ? ? }, {? ? ? ? ? value: "選項4",? ? ? ? ? label: "龍須面"? ? ? ? }, {? ? ? ? ? value: "選項5",? ? ? ? ? label: "北京烤鴨"? ? ? ? }],// 映射方法formatterName(options, value) {? let obj = {}? obj = options.find(item => item.value=== value)? return obj.label}, ?// 輸出: ? 黃金糕 ? ?

    多選框

    • 后端返回的:
    value: ["選項2,選項4"]
    • 下拉數組:
    options: [{? ? ? ? ? value: "選項1",? ? ? ? ? label: "黃金糕"? ? ? ? }, {? ? ? ? ? value: "選項2",? ? ? ? ? label: "雙皮奶"? ? ? ? }, {? ? ? ? ? value: "選項3",? ? ? ? ? label: "蚵仔煎"? ? ? ? }, {? ? ? ? ? value: "選項4",? ? ? ? ? label: "龍須面"? ? ? ? }, {? ? ? ? ? value: "選項5",? ? ? ? ? label: "北京烤鴨"? ? ? ? }],// 映射方法formatterName(options, value, idArr = []) {? if (typeof options=== "object") {? ? ?for (let i = 0; value[i] !== undefined; i++) {? ? ? ?for (let j = 0; options[j] !== undefined; j++) {? ? ? ? ?if (value[i] === options[j].value) {? ? ? ? ? ?idArr.push(options[j].label)? ? ? ? ?}? ? ? ?}? ? ?}? ?}? ?return idArr}, ?// 輸出: ? ["雙皮奶","龍須面"]

    級聯框

    • 后端返回的:
    value: ["zhinan","shejiyuanze","fankui"]
    • 下拉數組:
    options: [{? value: "zhinan",? label: "指南",? children: [{? ? value: "shejiyuanze",? ? label: "設計原則",? ? children: [{? ? ? value: "yizhi",? ? ? label: "一致"? ? }, {? ? ? value: "fankui",? ? ? label: "反饋"? ? }, {? ? ? value: "xiaolv",? ? ? label: "效率"? ? }, {? ? ? value: "kekong",? ? ? label: "可控"? ? }]? }]// 映射方法formatterName(options, value, idArr = []) {? if (typeof options === "object") {? ? for (let i = 0; value[i] !== undefined; i++) {? ? ? for (let j = 0; options[j] !== undefined; j++) {? ? ? ? if (value[i] === options[j].value) {? ? ? ? ? idArr.push(options[j].label)? ? ? ? }? ? ? }? ? }? ? for (let i = 0; options[i] !== undefined; i++) {? ? ? this.formatterName(options[i].children, value, idArr)? ? }? }? return idArr}, ?// 輸出: ? ["指南","設計原則","反饋"]

    總結

    以上為個人經驗,希望能給大家一個參考,也希望大家多多支持。

    標簽: JavaScript
    相關文章:
    主站蜘蛛池模板: 硅胶管挤出机厂家_硅胶挤出机生产线_硅胶条挤出机_臣泽智能装备 贵州科比特-防雷公司厂家提供贵州防雷工程,防雷检测,防雷接地,防雷设备价格,防雷产品报价服务-贵州防雷检测公司 | 水热合成反应釜-防爆高压消解罐-西安常仪仪器设备有限公司 | 成都茶楼装修公司 - 会所设计/KTV装修 - 成都朗煜装饰公司 | 罗茨真空机组,立式无油往复真空泵,2BV水环真空泵-力侨真空科技 | 智慧物联网行业一站式解决方案提供商-北京东成基业 | 风信子发稿-专注为企业提供全球新闻稿发布服务| 无线遥控更衣吊篮_IC卡更衣吊篮_电动更衣吊篮配件_煤矿更衣吊篮-力得电子 | 直线模组_滚珠丝杆滑台_模组滑台厂家_万里疆科技 | 滤芯,过滤器,滤油机,贺德克滤芯,精密滤芯_新乡市宇清流体净化技术有限公司 | 天津仓储物流-天津电商云仓-天津云仓一件代发-博程云仓官网 | 手表腕表维修保养鉴定售后服务中心网点 - 名表维修保养 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 袋式过滤器,自清洗过滤器,保安过滤器,篮式过滤器,气体过滤器,全自动过滤器,反冲洗过滤器,管道过滤器,无锡驰业环保科技有限公司 | 生鲜配送系统-蔬菜食材配送管理系统-连锁餐饮订货配送软件-挪挪生鲜供应链管理软件 | BESWICK球阀,BESWICK接头,BURKERT膜片阀,美国SEL继电器-东莞市广联自动化科技有限公司 | 不锈钢散热器,冷却翅片管散热器厂家-无锡市烨晟化工装备科技有限公司 | 深圳激光打标机_激光打标机_激光焊接机_激光切割机_同体激光打标机-深圳市创想激光科技有限公司 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 欧美日韩国产一区二区三区不_久久久久国产精品无码不卡_亚洲欧洲美洲无码精品AV_精品一区美女视频_日韩黄色性爱一级视频_日本五十路人妻斩_国产99视频免费精品是看4_亚洲中文字幕无码一二三四区_国产小萍萍挤奶喷奶水_亚洲另类精品无码在线一区 | 拖链电缆_柔性电缆_伺服电缆_坦克链电缆-深圳市顺电工业电缆有限公司 | 防火板_饰面耐火板价格、厂家_品牌认准格林雅 | 无线对讲-无线对讲系统解决方案-重庆畅博通信 | b2b网站大全,b2b网站排名,找b2b网站就上地球网 | 真空冷冻干燥机_国产冻干机_冷冻干燥机_北京四环冻干 | 缓蚀除垢剂_循环水阻垢剂_反渗透锅炉阻垢剂_有机硫化物-郑州威大水处理材料有限公司 | 杭州厂房降温,车间降温设备,车间通风降温,厂房降温方案,杭州嘉友实业爽风品牌 | 工业胀紧套_万向节联轴器_链条-规格齐全-型号选购-非标订做-厂家批发价格-上海乙谛精密机械有限公司 | 数控走心机-双主轴走心机厂家-南京建克 | 「钾冰晶石」氟铝酸钾_冰晶石_氟铝酸钠「价格用途」-亚铝氟化物厂家 | 蚂蚁分类信息系统 - PHP同城分类信息系统 - MayiCMS | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | LZ-373测厚仪-华瑞VOC气体检测仪-个人有毒气体检测仪-厂家-深圳市深博瑞仪器仪表有限公司 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | 成都APP开发-成都App定制-成都app开发公司-【未来久】 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 南京展台搭建-南京展会设计-南京展览设计公司-南京展厅展示设计-南京汇雅展览工程有限公司 | 丝杆升降机-不锈钢丝杆升降机-非标定制丝杆升降机厂家-山东鑫光减速机有限公司 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 济南玻璃安装_济南玻璃门_济南感应门_济南玻璃隔断_济南玻璃门维修_济南镜片安装_济南肯德基门_济南高隔间-济南凯轩鹏宇玻璃有限公司 | 洗地机_全自动洗地机_手推式洗地机【上海滢皓环保】 | 杭州实验室尾气处理_实验台_实验室家具_杭州秋叶实验设备有限公司 |