Как компонент дерева elementui использует код для изменения состояния расширения узла

Проблема: В проекте узел дерева необходимо развернуть без нажатия на узел дерева. В официальном документе предоставлен только расширенный атрибут по умолчанию (default-expanded-keys). Этот атрибут получает массив, а массив Расширенные элементы, но это полезно только в начале, и нет возможности расширить определенный узел позже.

Решение: Официальный метод не предоставляет возможности расширения узлов, поэтому мне нужно найти способ. Здесь я устанавливаю идентификатор для каждого узла, получаю элемент dom через этот идентификатор, а затем выполняю метод щелчка, чтобы имитировать эффект щелчка. . код показан ниже:

HTML-код части:

<el-tree
  :data="treeData"
>
  <span :id="data.id" class="custom-tree-node"  slot-scope="{node,data}">
    <span style="line-height:32px;">{
   
   {node.label}}</span>
  </span>
</el-tree>

js часть кода:

data(){
    
    
  return {
    
    
	treeData:[
	  {
    
    
		id:1,
		label:'节点1',
		children:[
		  {
    
    
		  	id:2,
		  	label:'节点1-1',
		  },
		  {
    
    
		  	id:3,
		  	label:'节点1-2'
		  }
		]
	  }
	]
  }
}
mounted(){
    
    
  docoument.getElementById('1').click();
}

Таким образом, вы можете видеть, что автоматически расширяется узел 1. Когда вам нужно изменить развернутое состояние определенного узла, вы можете использовать метод document.getElementById(id).click().

Supongo que te gusta

Origin blog.csdn.net/brilliantSt/article/details/126435818
Recomendado
Clasificación