Cannot read property 'selectedRowKeys' of undefined(vue回调函数中this无效)
在使用ant-design-vue时发现出现报错,无法读取未定义的“selectedRowKeys”属性。如下图,一开始在onOk()和onCancel()中是通过this来取值,但是并没有取到。
在一开始,我通过网上查找,发现并没有与我要找的问题相关的。然后我就去翻ant-design-vue官方文档,找到onOk()和onCancel(),发现它们是回调方法。于是猜想可能是回调中this和非回调中的指向的是不同的。
经过网上查找发现,回调函数的内部this并不是指向当前vue实例。
下面是进行的一个测试。
通过比较两个发现,确实是如此,在非回调中与回调中this指向确实不同。
解决:在外部定义个变量存储this。如图:
这样问题就解决了。
参考