ayiaq1 / el-tree-select Goto Github PK
View Code? Open in Web Editor NEW基于element-ui2.x扩展下拉树
基于element-ui2.x扩展下拉树
现象:
该组件在弹窗里面时,第一次可以正常使用用。
当关闭弹窗后,再次打开该弹窗,点击该组件时,下拉树不能出现。
基于element-u实现的这个控件以前在项目中实现过,但是不能让人满意。用element-ui组合出来的控件,和riophae/vue-treeselect 这个控件方案比较,操作不是那么舒服。最好能够直接merge这个控件,或者采用vue-ant-design中的控件来修改。
Anyway, 谢谢作者的分享。希望作者加入element的前端团队,直接修改他们的源码,实现好看有 实用的组件。
版本3.0.10
在多选状态下, 点击单个tag后的x,下拉的tree未同步。
能否关闭调多选状态下的tag的x按钮,仅保留下拉勾选的操作?
谢谢。
提示:
Uncaught TypeError: Cannot read property 'updatePopper' of undefined
at el-tree-select.umd.min.js:1
出现上面的提示,能否看下是那里的问题。
我看到源码有一句: this.$refs.popover.updatePopper();,是否这里this.$refs.popover未可用?
谢谢分享
<ELTreeSelect
v-model="filterForm.category_id"
ref="treeSelect"
:node-key="treeParams.props.value"
:selectParams="selectParams"
:treeParams="treeParams"
/>
values: ["3"],
selectParams: {
// multiple: true,
clearable: true,
placeholder: "请选择需求分类"
},
treeParams: {
"default-expand-all": true,
filterable: false,
"check-strictly": true,
data: [
{
flowId: "1",
name: "哎哎哎",
children: [{ flowId: "3", name: "啊啊啊啊" }]
},
{
flowId: "2",
name: "发生的"
}
],
props: {
children: "children",
label: "name",
value: "flowId"
}
错误信息:Invalid prop: type check failed for prop "currentNodeKey". Expected String, Number, got Array
设置clickParent = false,点击父级的窗口关闭,建议点击不进行关闭弹框(当前使用版本为 2.0.3),
不得不说这个组件确实挺好用,感谢作者大佬。
在同一个页面中引用了2个该组件,其中一个无数据。
<el-form-item label="权限" prop="parent_id">
<ElTreeSelect
ref="permissionTreeSelect"
v-model="PermisSelectTreeClinkValues"
:styles="TreeSelectWidth"
:select-params="selectParams"
:tree-params="SelectPermisTreeParams"
@searchFun="_searchPermisFun"
@node-click="_permisNodeClickFun"
/>
</el-form-item>
<el-form-item label="上级菜单" prop="parent_id">
<ElTreeSelect
ref="menuTreeSelect"
v-model="MenuSelectTreeClinkValues"
:styles="TreeSelectWidth"
:select-params="selectParams"
:tree-params="SelectMenuTreeParams"
@searchFun="_searchMenuFun"
@node-click="_menuNodeClickFun"
/>
</el-form-item>
单独设置可以,模态框加载完毕调用不可以
代码如下
handleOpenedAuthMenuList() {
if (this.refMenuIds.length) {
this.$nextTick(() => {
if (this.$refs.treeSelect.$refs.tree) {
this.$refs.treeSelect.$refs.tree.setCheckedKeys(this.refMenuIds)
this.userForm.authMenuList = this.refMenuIds
}
})
}
},
v-model中为一维数组,父子节点关系无法体现
加入默认清空之后,请给出一个回调的钩子;方便进行清空后的逻辑实行
修改尺寸大小,就像是element原生的设置 size属性 size="small" // medium/small/mini
在多选情况下,在选择框上移除tag,下拉树对应节点没有取消勾选
搜索栏是否可以配置取消?clickParent设为true不能自动关闭下拉框?
作者你好,首先非常感谢你能够分享这个组件。
在平常的使用中这个组件是没有什么问题的,但是也发现了一个问题:
这是我一个小小的建议,还望采纳,谢谢
length is not defined
<el-tree
ref="tree"
:empty-text="emptyText"
:show-checkbox="multiple"
:data="treeData"
:props="props"
:render-content="renderContent"
:filter-node-method="filterNode"
@node-click="treeNodeClickFun"
@check-change="treeNodeCheckFun"
/>
这里面的renderContent默认不传值的时候一直为空,导致树形节点内容显示不出,是我调用的有问题?求大神解答。。然后顺便问一下代码中生明了一个NodeContent组件,但是没有用到,请问是否多余?
NodeContent: {
render(h) {
debugger
const parent = this.$parent
const node = this.node
const data = node.data
const store = node.store
return parent.renderContent ? (
parent.renderContent.call(parent._renderProxy, h, {
_self: parent.tree.$vnode.context,
node,
data,
store
})
) : (
<span class='el-tree-node__label'>{this.node.label}</span>
)
}
}
1、It seems there are duplicate keys that is causing an update error. Make sure each v-for item has a unique key.
2、"TypeError: Cannot read property 'key' of undefined"
给出的demo全部选中后 清空某一个报错
建议校验值时允许数字类型
"el-tree-select": "^3.1.4",
"element-ui": "^2.12.0",
"vue": "^2.5.2",
"vuex": "^3.1.1"
代码
-template
<el-tree-select :treeParams="{data:dataList}"></el-tree-select>
-script
computed:{...mapState('dataList')}
结果
Vue Dev tools中可以明确观察到
ElTreeSelect已得到正确的treeParams[data]数组prop
但实际内部的Eltree中,data为空
弹出层宽度最好能支持自定义,默认是select宽度。
单选怎么取消显示CheckBox, 不是很友好,用户一般都是强逼症人员
1、为何不支持element tree的方法,如:getNode/getCurrentNode/setChecked等
2、通过v-model绑定的初始化数据,每个tag都无法删除
有个这样的警告
vue.esm.js?efeb:591 [Vue warn]: Error in event handler for "updatePopper": "TypeError: o is not a constructor"
found in
选中几个值,再点击其他地方,弹出框消失以后,输入框变成了无数多个值,请查看下是哪里的问题
你好,发现在option过长时,多选勾选了项目后,悬浮的勾选项会特别长把后面其他的控件遮盖了,建议可以设置文本过长时显示...
多选时,点X删掉一个值,v-model里面的值没有同步
Invalid prop: type check failed for prop "currentNodeKey". Expected String, Number, got Array.
在方法 _setSelectNodeFun() 当我清空值得时候 el.getCurrentNode()还能得到当前的节点信息。
目前只能是字符串或数组,当id为数字时老有错误
怎么设置自动展
项目中需要 按钮或者小图标 进行清空数据的功能;由于清空后有其他操作,请将暴露一个清空回调函数;
可有使用说明文档呀?您的文档里面没看到相关的说明,求指点。
页面中使用了3个下拉树组件和el-scrollbar,页面有卡顿
IE 下引入失败
后台有时返回的id数值确实是number类型,控制台的提示蛮烦的
Invalid prop: type check failed for prop "value". Expected String, Array, got Number with value 7.
能否支持上Number,这样兼容性更高,也不用调整业务数据结构
后台是水那也没办法 :(
望能采纳,谢谢分享。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.