这是组件BadCodeSelector,它发出一个确认函数,当按钮被点击时,确认方法工作.

<template>
 <div class="BadCodeSelector-buttons">
    <el-button size="small" type="warning" @click="beforeClose">取消</el-button>
    <el-button
      size="small"
      type="primary"
      @click="confirm"
    >
      确定
    </el-button>
  </div>
</template>

<javascript>
export default {
  props: {
    materialTypeCode: String,
    activeRow: Object
  },
  methods: {
     confirm() {
      this.$emit('confirm', this.badCodeData)
      console.log('confirm function emit')
    },
  }

}

</javascript>

但在渲染函数中,确认函数不起作用

onShowBadCodeSelector(row) {
  const hide = this.$dialog.show({
    dialogProps: {
      title: '不良代码'
    },
    render: () => {
      return (
      <BadCodeSelector
        materialTypeCode={this.mainFormData.materialTypeCode}
        activeRow={row}
        v-on:confirm={confirm}
      />
    )
    }
  })
  const confirm = data => {
    console.log('function emited')
    hide()
  }
}

组件中的函数起作用,但在onShowBadCodeSelector中不起作用

确认函数在渲染函数中起作用

推荐答案

在JSX中,事件的语法onEventName,on+EventName应该大写:

   <BadCodeSelector
        materialTypeCode={this.mainFormData.materialTypeCode}
        activeRow={row}
        onConfirm={confirm}
      />

Vue.js相关问答推荐

如何将 cogo toast PRIVE集成到nuxt3中?

VueJS3 - 在 for 循环中获取元素的句柄

Vue 和 Nuxt 之间生命周期钩子的不同行为

如何解决 Vue.js 中的相邻 JSX 元素必须包含在封闭标记中问题

Vuex store 在 Nuxt 的什么地方

如何在 vuejs 自定义指令中传递动态参数

带有外部配置文件的 Vue js

如何在 Vue.js 中使用 MaterializeCss?

如何为 Vue 项目设置 lint-staged?

更新 v-for 中使用的数组内的对象时,Vue js react性问题

VueJS + Typescript:类型上不存在属性

事件 click点击的无效处理程序:未定义

如何告诉 Vue 应用使用 Firebase 模拟器?

基于条件的VueJS HTML元素类型

Vue devServer 代理没有帮助,我仍然收到 CORS 错误

Jest错误找不到模块....

我可以修改 Vue.js VNodes 吗?

带有 Google Auth Signin 的 Vuejs 全局函数

返回 VueJS 方法的Native Code消息

为什么不能在 vue 模板中使用窗口?