vue下拉框动态绑定数据默认选中第一条

vue下拉框默认第一条默认第一条数据,下拉框的数据来自请求后台的接口。要求在每次新增时都要默认第一条数据。

新增的弹框如图所示,每次点击新增时,都是业务类型显示 商户默认。

在这里插入图片描述

解决方案:
原部分代码展示如下:

          <el-form-item label="业务类型:" prop="busType">
            <el-select v-model="dataForm.busType" clearable  placeholder="请选择">
              <el-option v-for="(item, index) in bus_type" :value="item.dictValue" :label="item.dictTag" :key="index">
              </el-option>
            </el-select>
          </el-form-item>

原部分script代码:

<!--script:代码-->
data () {
    return {
      bus_type: []
      }
}
  created () {
    this.getSelection()
  },
    // 获取字典项
    getSelection () {
      this.$http({
        url: this.$http.adornUrl('/sys/xxx/xxx'),
        method: 'get',
        params: this.$http.adornParams({
          'dictCode': 'thidType'
        })
      }).then(({data}) => {
        if (data && data.msgCd === 'OPR00000') {
          this.bus_type = data.body
          this.dataForm.busType = this.bus_type[0].dictValue  // 展示第一列的关键
          this.temporaryVariable = this.bus_type[0].dictValue
        } else {
          this.bus_type = []
        }
      })

采用以上代码,只能解决第一次新增时会展示 , 第二次点击就没有了。所以最终解决方案:

在你点击新增时,弹框的事件方法中,加上如下代码

        this.$nextTick(() => {
          console.log("点击:" + this.temporaryVariable)
          this.dataForm.busType = this.temporaryVariable
        })

关于 this.$nextTick(())方法,我也不知道它能解决,网上找了资料,页面每次渲染有变化时,都会重新渲染,具体不太清楚了,还望前端大佬教教。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐