使用$set方法解决ElementUI的el-select的@change操作失效的情况

Admin 2023-04-06 群英技术资讯 1631 次浏览

在这篇文章中,我们来学习一下“使用$set方法解决ElementUI的el-select的@change操作失效的情况”的相关知识,下文有详细的讲解,易于大家学习和理解,有需要的朋友可以借鉴参考,下面就请大家跟着小编的思路一起来学习一下吧。


目录
  • 使用ElementUI下拉框 @change事件数据不回显
    • 问题
    • 解决方案
  • VUE下拉框数据及数据回显问题
    • 总结

      使用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;
          });
      }

      以上就是关于“使用$set方法解决ElementUI的el-select的@change操作失效的情况”的介绍了,感谢各位的阅读,如果大家想要了解更多相关的内容,欢迎关注群英网络,小编每天都会为大家更新不同的知识。
      群英智防CDN,智能加速解决方案

      免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

      猜你喜欢

      成为群英会员,开启智能安全云计算之旅

      立即注册
      专业资深工程师驻守
      7X24小时快速响应
      一站式无忧技术支持
      免费备案服务
      免费拨打  400-678-4567
      免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
      在线客服
      微信公众号
      返回顶部
      返回顶部 返回顶部
      在线客服
      在线客服