那attrsData可以这么写么 attrsData () { return { attrs: { defaultExpandAll: true, highlightCurrent: true, // expandOnClickNode: false, nodeKey: 'id', filterNodeMethod: this.filterNode, ...this.$attrs }, on: this.$listeners } }
时间: 2024-02-14 12:13:03 浏览: 77
attrs:没有样板的Python类
是的,您可以将attrsData写成一个返回对象的函数,并在其中添加filterNodeMethod方法,如下所示:
```
attrsData() {
return {
attrs: {
defaultExpandAll: true,
highlightCurrent: true,
nodeKey: 'id',
filterNodeMethod: this.filterNode,
...this.$attrs
},
on: this.$listeners
};
},
methods: {
filterNode(value, data) {
if (!value) return true;
return data[this.$attrs?.props?.label ?? 'label'].indexOf(value) !== -1;
}
},
render (h) {
return (
<div type="align-start" gap="10px" padding>
{ this.$slots.tree || <el-tree ref="tree" {...this.attrsData}/> }
{ this.$slots.default }
</div>
);
}
```
在这里,我们将attrsData定义为一个返回对象的函数,并在其中添加了filterNodeMethod方法。这样,在使用{...this.attrsData}将其传递给el-tree标签时,filterNodeMethod也将会被自动添加到标签上。
阅读全文