当前位置: 代码网 > it编程>编程语言>Javascript > element-ui 实现输入框下拉树组件功能

element-ui 实现输入框下拉树组件功能

2024年06月12日 Javascript 我要评论
用element-ui的 el-input,el-tree,el-popover组件组合封装@import url("//unpkg.com/element-ui@2.15.14/lib/theme-

用element-ui的 el-input,el-tree,el-popover组件组合封装

@import url("//unpkg.com/element-ui@2.15.14/lib/theme-chalk/index.css");
<script src="//unpkg.com/vue@2/dist/vue.js"></script>
<script src="//unpkg.com/element-ui@2.15.14/lib/index.js"></script>
<div id="app">
  <el-popover
    placement="bottom"
    width="350"
    trigger="click">
    <el-tree
       style="width:300px"
       ref="tree"
       :data="options"
       :check-strictly="false"
        show-checkbox
        node-key="id"
        :default-expanded-keys="[]"
        :default-checked-keys="[]"
        :props="{
           children: 'children',
           label: 'name'
         }"
         @check-change="handlecheckchage"
         @node-click="handlenodeclick"
     >
    </el-tree>
        <el-input slot="reference" 
          style="width:380px"
         v-model="value.name" 
         placeholder="节点" 
         clearable 
         @clear="handleiptclear">
       </el-input>
  </el-popover>
</div>
var main = {
    data() {
      return {
        options: [
          {id:'1', name: '1',
           children:[
             {id:'11', name: '11'},
             {id:'12', name: '12'}
           ]
          },
          {id:'2', name: '2'}
        ],
        value:{id:'', name: ''}
      }
    },
    methods: {
      // 清空输入框内容
        handleiptclear(){
            this.$refs.tree.setcheckednodes([])
            this.value.id = ''
            this.value.name = ''
        },
        // checkbox被选中或取消选中
        handlecheckchage(arg1, arg2, arg3){
            const seltednodes = this.$refs.tree.getcheckednodes()
            const ids = seltednodes.map(n => n.id)
            const names = seltednodes.map(n => n.name)
            this.value.id = ids
            this.value.name = names
        },
        // 节点被点击
        handlenodeclick(arg1, arg2, arg3){
            console.log('nodes:', arg1, arg2, arg3)
        },
    }
  };
var ctor = vue.extend(main)
new ctor().$mount('#app')

可以根据函数方法拿到里面的参数,实现多选节点效果

到此这篇关于element-ui 实现输入框下拉树组件功能的文章就介绍到这了,更多相关element-ui 输入框下拉树组件内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com