美文网首页
vue自动触发事件

vue自动触发事件

作者: NemoExpress | 来源:发表于2021-09-16 14:47 被阅读0次

项目中进入页面 先请求后台渲染一个列表,然后点击每个列表过后,再次请求后台加载该列表项下面的子列表,类似异步加载树行结构数据。
现在效果已经实现,但是需求需要当页面进入的时候,就要把第一个列表项的第一个节点默认打开,方案有2种

方案1:使用vue的自定义指令

   <div
       v-for="(i, index) in Devlist"
       :key="i.id"
       :id="index" 
       v-trigger
       @click="showInfo(i, index)"
       >
      .....
directives: {
    trigger: {
      inserted(el, binding) {
        console.log('el>>', el)
        // 这里需要在触发前先进行判断,因为上面的 是用v-for循环出来的一个列表,每一项都有v-trigger
        if (el.id === '0') {
          el.click() // 如果是第一项,则触发点击事件,需要在循环的时候给对应的列表项绑定一个id值
        }
      }
    }
  },

方案2:

再请求完成初始列表后,携带父列表里面相关的参数,接着发起下一级的请求,该方案适合只有2级的情况,用自定义指令可以实现多级的触发

      loadData: parameter => {
        const requestParameters = Object.assign({}, parameter, this.queryParam)
        console.log('任务列表的参数:', requestParameters)
        return getTaskDevLogList(requestParameters).then(res => {
          // 在这里第一个list数据请求成功后,给下一个请求的参数赋值,然后再触发下个请求,我这里用的是antdv封装好的stable组件,只需要刷新表格组件就携带参数可发起新的请求
          const record = res.result.data[0]
          this.idx = record.id
          this.querydevParam.filter['id'] = record.id
          this.$refs.devtable.refresh()  //刷新表格组件,携带新的参数更新表格
          return res.result
        })
      },
      .....
     // 表格参数
      querydevParam: {
        qTarget: 1,
        filter: { id: -1, viewType: 1, result: 0, sTime: 0, eTime: 0 }
      },
      // 加载任务下的设备列表数据
      loadDevData: parameter => {
        const requestParameters = Object.assign(
          {},
          parameter,
          this.querydevParam,
          this.filter
        )
        console.log('请求任务下的设备列表的参数:', requestParameters)
        return getTaskDevLogList(requestParameters).then(res => {
          return res.result
        })
      }

参考文献 https://blog.csdn.net/peijiajing/article/details/102899771

相关文章

  • vue自动触发事件

    项目中进入页面 先请求后台渲染一个列表,然后点击每个列表过后,再次请求后台加载该列表项下面的子列表,类似异步加载树...

  • vue - 组件通信

    每个Vue实例都是一个事件触发器: $on()——监听事件。 $emit()——把事件沿着作用域链向上派送。(触发...

  • jQuery事件自动触发

    事件自动触发 trigger()和triggerHandler() trigger() triggerHandle...

  • Oracle之DML触发器基本使用

    触发器是当某个事件发生时自动地隐式运行。DML触发器指的是在对表进行增删改操作引发的自动执行事件。 创建触发器的一...

  • 记录简单实现Vue2中的响应式原理

    Vue是数据驱动视图模式,数据变更后,会自动更新视图。 原生js中要更新视图通常是通过触发事件,然后修改数据,最后...

  • JS基础学习:事件冒泡/阻止事件冒泡/事件冒泡阶段

    事件冒泡 多个元素嵌套,这些元素都注册了相同的事件,如果里面的元素的事件触发了,外面的元素的该事件也自动触发了。 ...

  • vue生命周期

    vue1--》 一 vue的生命周期如下图所示 二 vue生命周期的例子 注意触发vue的created事件以后,...

  • 自己写一个vue-router

    路由工作流程 URL发生改变 触发监听事件,vue-router触发Window自带监听 改变vuerouter里...

  • 在 Vue 中使用 $emit 自定义事件

    Vue $emit 允许我们从子组件向其父组件发送自定义事件。 在标准 Vue 流中,这是触发某些事件或从子组件发...

  • VUE基础之事件处理(浅析VUE事件修饰符)

    VUE基础之事件处理 v-on:something用于绑定事件监听器,监听DOM变化来触发事件(something...

网友评论

      本文标题:vue自动触发事件

      本文链接:https://www.haomeiwen.com/subject/uuvrgltx.html