element 有搜索框input筛选的树形菜单

 //this.$refs.tree.getCheckedNodes()   //树选中的值
 //this.$refs.tree.getCheckedKeys()  //树选中的id
 //this.$refs.tree.setCurrentKey(id);//默认高亮
    default-expand-all  				--默认展开全部
    highlight-current   				--高亮
    :filter-node-method="filterNode" 	--筛选input
    :expand-on-click-node="false"   	--点击图标才展开
    node-key="id"      					--getCheckedKeys必须绑定id
    :props="{
             					-- 格式化可写在标签内
        label: 'name',
        value:'id',
    }"
<div class="tree-box">
    <span class="tree-title">标题</span>
    <el-input
        placeholder="请输入"
        v-model="tr
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
抱歉,由于我是一名AI语言模型,无法提供完整的编程代码。但是,我可以给您提供一些基本的步骤、示例和参考链接,以帮助您使用Element UI框架来创建treeselect树形菜单。 # 步骤: 1. 安装Element UI库: ```bash npm i element-ui -S ``` 2. 在Vue项目中引入Element UI,并注册所需组件:`TreeSelect`和`Option`。 ```javascript import Vue from 'vue'; import ElementUI from 'element-ui'; import 'element-ui/lib/theme-chalk/index.css'; Vue.use(ElementUI); // 在组件中注册 import Treeselect from 'vue-treeselect' import 'vue-treeselect/dist/vue-treeselect.css' Vue.component('treeselect', Treeselect) ``` 3. 创建数据源(由于treeselect是一个树形结构,因此需要的是具有父/子关系的数据)。 ```javascript data() { return { // 模拟数据源 treeData: [{ id: 1, label: '一级 1', children: [{ id: 4, label: '二级 1-1', children: [{ id: 9, label: '三级 1-1-1', }, { id: 10, label: '三级 1-1-2', }] }] }, { id: 2, label: '一级 2', children: [{ id: 5, label: '二级 2-1' }, { id: 6, label: '二级 2-2' }] }, { id: 3, label: '一级 3', children: [{ id: 7, label: '二级 3-1' }, { id: 8, label: '二级 3-2' }] }] } } ``` 4. 在模板中使用`treeselect`组件,并将`treeData`传递给它。默认情况下,`treeselect`会自动将数据渲染为树形结构。如果需要自定义节点渲染,可以通过`option-component` prop来传递自定义Vue组件。 ```html <template> <div> <treeselect v-model="selected" :options="treeData" :multiple=true :clearable=true placeholder="请选择" :no-children-text="'暂无子级'" :loading=true :disabled=true /> </div> </template> <script> export default { name: 'MyComponent', data() { return { // 值 selected: null, // 模拟数据源 treeData: [ { id: 1, label: '一级 1', children: [ { id: 4, label: '二级 1-1', children: [ { id: 9, label: '三级 1-1-1' }, { id: 10, label: '三级 1-1-2' } ] } ] }, { id: 2, label: '一级 2', children: [ { id: 5, label: '二级 2-1' }, { id: 6, label: '二级 2-2' } ] }, { id: 3, label: '一级 3', children: [ { id: 7, label: '二级 3-1' }, { id: 8, label: '二级 3-2' } ] } ] } } } </script> ``` 5. 上述代码可以生成一个带有“一级/二级/三级”级别的简单树形菜单。 # 示例 以下是一个简单的treeselect树形菜单,演示了如何使用Element UI框架。它展示了三个级别的节点,并使用了一些常见的prop和事件。您可以根据需要进行修改和扩展。 ```html <template> <div> <h3>treeselect树形菜单:</h3> <treeselect v-model="selected" :options="treeData" :multiple=true :clearable=true placeholder="请选择" :no-children-text="'暂无子级'" :loading=true :disabled=true /> <h3>选中的值:</h3> <pre>{{ selected }}</pre> </div> </template> <script> import Treeselect from 'vue-treeselect'; import 'vue-treeselect/dist/vue-treeselect.css'; export default { components: { Treeselect }, name: 'TreeSelectExample', data() { return { selected: null, treeData: [{ id: 1, label: '一级 1', children: [{ id: 4, label: '二级 1-1', children: [{ id: 9, label: '三级 1-1-1', }, { id: 10, label: '三级 1-1-2', }] }] }, { id: 2, label: '一级 2', children: [{ id: 5, label: '二级 2-1' }, { id: 6, label: '二级 2-2' }] }, { id: 3, label: '一级 3', children: [{ id: 7, label: '二级 3-1' }, { id: 8, label: '二级 3-2' }] } ] }; }, methods: { handleNodeSelected(node) { console.log('节点选中了:', node); }, handleNodeDeselected(node) { console.log('节点取消选中了:', node); }, handleTreeLoaded() { console.log('树形结构已加载'); }, handleInputChange(value) { console.log('输入框值变化了:', value); } } }; </script> ``` # 参考链接 - [vue-treeselect官方文档](https://vue-treeselect.js.org/) - [Element UI TreeSelect](https://element.eleme.io/#/zh-CN/component/tree-select) - [Vue.js官方文档](https://cn.vuejs.org/)

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值