广州鸿名健康科技有限公司


VUE使用ElementUI下拉框@change事件数据不回显问题

网络编程 VUE使用ElementUI下拉框,@change事件数据不回显,VUE ElementUI下拉框 06-18

使用ElementUI下拉框 @change事件数据不回显

问题

在VUE中使用ElementUI的el-select下拉框,它是通过接口异步获取的下拉框数据,选择某一个值后,虽然在绑定的 @change 事件中能够看到已赋值成功,控制台输出也显示赋值操作完成数据变化,但是框上却没有显示选中的值。

解决方案

VUE它是无法监听动态新增的属性的变化,但是有一个方法可以为动态属性赋值,那就是$set。 

<template>  <el-select    v-model="value"    multiple    filterable    allow-create    default-first-option    placeholder="请选择文章标签">    @change="selectChange"    <el-option      v-for="item in options"      :key="item.value"      :label="item.label"      :value="item.value">    </el-option>  </el-select></template> <script>  export default {    data() {      return {        paper:[{            title:'',            author:''        }]        options: [{          value: '1',          label: 'HTML'        }, {          value: '2',          label: 'CSS'        }, {          value: '3',          label: 'JavaScript'        }],        value: []      }    },methods{        // 操作下拉框选中事件        selectChange(val) {            const title = this.options.find(item=>item.value===val).label               this.$set(this.paper, this.paper.title, title)            }    }  }</script>

VUE下拉框数据及数据回显问题

下拉框默认显示第一个数据,及获取下拉框中选择的任意数据:

<label>类型:</label> <select v-model="value_type" @change="getvalue_typeected(value_type)">   <option :value="item" v-for="item in types" :key="item">{{     item   }}</option> </select>export default {    data(){        return {            value_type: "",              types: ["STRING", "BOOLEAN", "INTEGER",'DATETIME','DATE'],        }    },    created(){        //下拉框默认显示第一个        this.value_type = this.types[0];    },    methods:{        getvalue_typeected(val) {          this.value_type = val;        },    }}

下拉框数据回显:

getCurIdData() {  this.$http    .get(`/api/${id}`)    .delegateTo(api_request)    .then((data) => {      this.value_type= data.value_type;    });}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持。


编辑:广州鸿名健康科技有限公司

标签:下拉框,数据,赋值,它是,属性