【发布时间】:2019-07-15 07:44:17
【问题描述】:
我是社区和 VueJ 的新手,所以请多多包涵 :) 如果问题的答案是显而易见的,并且感谢您预先付出的努力,我真的很感激!
我有这个组件:
<script>
export default {
name: 'InputElement',
functional: true,
render(createElement, context) {
const { validation, name, field } = context.props || {}
const { listeners } = context
// debugger
return (
<input id={name}
v-validate={validation}
type={field.type}
placeholder={field.placeholder}
name={name}
onInput={ listeners.event_is_nice('sadf')}
class="e-form__input"/>
)
}
}
</script>
如您所见,它不是标准的 VueJs 语法,我正在尝试返回输入元素,而 onInput 我正在尝试发出“event_is_nice”事件。
当我尝试这个时,我得到:
"listeners.event_is_nice" 不是函数(我猜它没有注册)。
当我使用 createElement(标准 JSX Vue 语法)或我使用 然后它就可以了,但是我只是没有运气弄清楚这种方法..'/
【问题讨论】:
-
@roliroli 谢谢老兄,我已经看过这个帖子,但我的问题是关于语法与您发布的帖子的答案不同。在您的示例中,您返回 create element() 方法,但我想返回附加了发射器的实际元素。就像我在上面发布的示例一样
标签: javascript vue.js vuejs2 jsx