You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多个VNode包裹在外层组件并添加点击事件?

解决Naive UI Autocomplete自定义渲染容器点击事件的问题

你出错的核心原因是Vue h() 函数的参数顺序用反了:h() 的第二个参数是元素的 props 配置(包含事件、属性等),第三个参数才是子节点内容集合。你之前把子节点数组放在了第二个参数位置,事件配置放在第三个,导致语法错误。

正确的写法应该把点击事件放在第二个参数的配置对象中,子节点数组放在第三个参数:

const renderSearchResult = option => h('div', 
  { onClick: () => alert('foo') }, 
  [
    h(NTag, { size: 'small', type: 'info' }, { default: () => option.type }),
    ' ',
    option.label
  ]
);

这样就能将所有内容统一包裹在 div 容器内,同时成功绑定点击事件。

内容的提问来源于stack exchange,提问作者Mitya

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 03:50:52