当前位置: 首页 > 知识库问答 >
问题:

前端 - vue3组件的click和change的顺序怎么自己控制 ?

司寇灵均
2024-02-27
<el-form-item v-if="items[cur]?.option_type===2" @change="saveOptionType0" @click="nextQuestion">const nextQuestion = (pos: number) => {  if (cur.value >= items.value.length) {    return  }  if (items.value[cur.value].option_type == 1) {    return  }  cur.value++  // setTimeout(() => cur.value++,0)}const saveOptionType0 = () => {  user_options_tmp.value[cur.value] = form.resource}

都会用到cur的值。但是默认先执行的click。那我现在的代码逻辑就有问题。需要全部在click里判断了。
有办法先执行 change 么。

共有1个答案

万勇
2024-02-27

DOM 事件的顺序是 Web 规范规定的,和 Vue 无关。所以你的事件处理函数必须遵守相应的规范,才能正确处理。

不过自定义组件的事件顺序是组件代码决定的,但是一般来说也是固定的。

所以你只能选择遵守别人的顺序,不能自己控制。

 类似资料:
  • 如题,虽然官方未出api,但看到还是挺多人对此封装了api,是怎么实现的呢? 广告请绕路哈~

  • 渲染出来的标签 怎么添加@click 我在红框里直接添加点击事件报错

  • 本文向大家介绍vue element-ui之怎么封装一个自己的组件的详解,包括了vue element-ui之怎么封装一个自己的组件的详解的使用技巧和注意事项,需要的朋友参考一下 为什么要进行组件封装? 封装的目的就是为了能够更加便捷、快速的进行业务功能的开发。组件(component)是vue的最强大功能之一,组件可以实现一些类似功能的复用及与其它业务逻辑的解耦。在开发中,我们难免会写很多类似的

  • 需求是这样的 已选中的数据现在放一个数组里,数组里的时间也转换成了字符串,但是报这个错

  • 这是ui图,上面的搜索组件是proTable自带的,暴露出来的API没有能实现左上角“检索”两个字的,有没有其他方法可完成的,提前感谢

  • VUE3项目中,文件夹名修改了大小写,就报错。 一开始组件是cleanData/form.vue,我重命名为CleanData/editForm.vue。引入组件时,还提示之前的form.vue,选择editForm.vue之后就报错(第二张图) 报错说仅大小写不同,重启项目也没用。为啥会这样呢? 我百度试了不写.vue也不行: