用jsx写vue组件,怎样监听.sync修饰符的事件?

jsx 来写 vue 的组件,需要监听 .sync 修饰符的事件,找不到文档,我试过下面的方法,但是并不行。

<MyComponent visible={this.visible} {...{['on-update:visible']: console.log}} />

求问,正确的写法应该要怎样呢?

阅读 8.1k
2 个回答

babel-plugin-transform-vue-jsx 的 example 中找到了答案,可以这样写:

<MyComponent visible={this.visible} {...{on:{'update:visible': console.log}}} />
                <el-dialog
                  visible={this.Visible}
                  on={{
                    ['update:visible']: () => {
                      this.Visible = false;
                    }
                  }}
                >

这样写会导致vscode检测有问题,从这往下的静态的高亮、注释方式 都不对了(不过功能没问题)

推荐问题