Así que estoy trabajando con v-network-graphs para crear gráficos en el front-end usando Vue. He definido mis datos como
data(){ return{ test: test_data, nodes:{}, edges:{}, nextNodeIndex: Number, selectedNodes: ref<string[]>([]), selectedEdges: ref<string[]>([]) } }y mis métodos se definen como
methods: { g(){ this.nodes = reactive(this.test.nodes) this.edges = reactive({ ...this.test.edges }) console.log(this.nodes) console.log(this.edges) this.nextNodeIndex = ref(Object.keys(this.nodes).length + 1) }, addNode() { const nodeId = this.nextNodeIndex.value this.nodes[nodeId] = { name: String(nodeId), size: 16, color: "blue", label: true } this.nextNodeIndex.value++ console.log(this.nextNodeIndex) }, removeNode() { for (const nodeId of this.selectedNodes.value) { delete this.nodes[nodeId] //Delete the selected node, by their ID } }, Ahora, cuando intento eliminar un nodo, aparece el error this.selectedNodes.value is not iterable , ¿cómo debo definir los nodos seleccionados entonces?
https://dash14.github.io/v-network-graph/examples/operation.html#add-remove-network-elements
El enlace de arriba tiene un ejemplo de cómo escribir la función de eliminación de borde usando la biblioteca. Estoy haciendo lo mismo, pero quiero escribir la función dentro de un método ya que estoy trabajando en un proyecto de Vue. Soy nuevo en Javascript y Vue, por lo que cualquier sugerencia es muy apreciada.
Su ejemplo utiliza la función de data OptionsAPI para crear un estado que es reactivo y la guía a la que se refiere utiliza una configuración de script que requiere el uso de la función ref() para crear variables reactivas.
Debido a que data devuelven el estado del objeto que ya es reactivo, el uso de ref dentro de él es redundante y sus propiedades seguirán siendo accesibles a través de . notación sin el uso de value .
Entonces, en su ejemplo, debe cambiar lo siguiente:
for (const nodeId of this.selectedNodes.value) {a
for (const nodeId of this.selectedNodes) { Y, además, puede reemplazar las dos propiedades siguientes en data :
selectedNodes: ref<string[]>([]), selectedEdges: ref<string[]>([])a
selectedNodes: [], selectedEdges: []¡Espero que esto te ayude!