77777778888888 2023-04-27 10:43 采纳率: 45.5%
浏览 16

报错:this.$refs.inlineInputDep.blur is not a function不理解,如何解决?


 <div class="display">
          <span>科室:&nbsp;&nbsp;</span>
          <el-autocomplete
          ref="inlineInputDep"
          class="inline-input"
          v-model="searchWordDep"
          :fetch-suggestions="querySearchDep"
          placeholder="请选择科室"
          @select="handleSelectDep">
          </el-autocomplete>
          <el-button type="primary" @click="instmSubmit">提交</el-button>
        </div>

 querySearchDep(queryString, cb) {
    console.log("querySearchDep................")
    if(this.InstrumentsList.length>0){//还未提交数据 进行切换科室操作
      this.$confirm('还未提交数据,是否切换科室?', '提示', {
          confirmButtonText: '是',
          cancelButtonText: '否',
          type: 'warning'
        }).then(() => {
          this.InstrumentsList=[];
          let restaurants = this.restaurants;
          let results=queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
          cb(results);
        }).catch(() => {
          this.$nextTick(()=>{
            this.$refs.inlineInputDep.blur();
            return
          })     
        });
    }else{
         let restaurants = this.restaurants;
         let results=queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
         cb(results);
    }
    // let restaurants = this.restaurants;
    // let department_token=this.department_token
    // let results 
    // if(/^[a-zA-Z]+$/.test(queryString)){
    //   results=queryString?department_token.filter(this.createFilter(queryString)):department_token
    // }else{
      //  results=queryString ? restaurants.filter(this.createFilter(queryString)) : restaurants;
    // }
   // cb(results);
  },

报错:this.$refs.inlineInputDep.blur is not a function
不理解

  • 写回答

2条回答 默认 最新

  • 丘山水每十甫寸 2023-04-27 11:02
    关注

    在 Vue 组件中使用了 this.$refs.inlineInputDep.blur(),但是 $refs.inlineInputDep 对应的 DOM 元素并没有 blur 方法。
    解决方法:
    确认 $refs.inlineInputDep 所引用的 DOM 元素是否正确,在组件中正确地定义了 ref="inlineInputDep"。
    确认 $refs.inlineInputDep 所引用的 DOM 元素是否具有 blur 方法,可以在控制台中查看 $refs.inlineInputDep 的值并尝试调用其 blur 方法。
    如果 $refs.inlineInputDep 对应的 DOM 元素确实没有 blur 方法,可以尝试使用其他方法来模拟 blur 的行为,例如使用 this.$nextTick(() => { document.activeElement.blur(); }); 来使当前活动元素失去焦点。

    评论

报告相同问题?

问题事件

  • 创建了问题 4月27日

悬赏问题

  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化