I am using Vue-Cli3.0. I used this module for Vue.js. https://github.com/holiber/sl-vue-tree
This is a customizable draggable tree component for Vue.js but I found that it could not copy functions of object.
https://github.com/holiber/sl-vue-tree/blob/master/src/sl-vue-tree.js#L715
Because of here.
JSON.parse(JSON.stringify(entity))
So I used this module and edited the copy function.
https://www.npmjs.com/package/clone
var clone = require('clone');
copy(entity) {
return clone(entity)
},
In this way, the function of the object is correctly copied.
I already have tested it, and it worked correctly. There was no problem with the performance but I got a console error.
[Vue warn]: Invalid default value for prop "multiselectKey": Props with type Object/Array must use a factory function to return the default value.
found in
---> <SlVueTree>
I want to know the way to erase this error. Thank you for reading my question.
according to your console warn, i find the error
https://github.com/holiber/sl-vue-tree/blob/master/src/sl-vue-tree.js#L30
try to fix it like this:
multiselectKey: {
type: [String, Array],
default: function () {
return ['ctrlKey', 'metaKey']
},
validator: function (value) {
let allowedKeys = ['ctrlKey', 'metaKey', 'altKey'];
let multiselectKeys = Array.isArray(value) ? value : [value];
multiselectKeys = multiselectKeys.filter(keyName => allowedKeys.indexOf(keyName ) !== -1);
return !!multiselectKeys.length;
}
},
the component default value must use a factory function to return!
try it and hope it can help you
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments