element el-select 阻止下拉框弹出,和el-tree组件联动
element
A Vue.js 2.0 UI Toolkit for Web
项目地址:https://gitcode.com/gh_mirrors/eleme/element
免费下载资源
·
<el-select
ref="chooseProjectName"
v-model="filterText"
multiple
collapse-tags
placeholder="请选择"
@focus="handleTestTasks"
@visible-change="visibleType"
@remove-tag="removeTag"
>
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value"
></el-option>
</el-select>
<el-tree
ref="tree"
class="newTreeStyle"
style="padding: 10px"
:data="treeData"
show-checkbox
default-expand-all
node-key="id"
highlight-current
:props="defaultProps"
check-strictly
:default-checked-keys="ruleForm.treeList"
@check-change="getCurrentData"
></el-tree>
// 阻止下拉框弹出
handleTestTasks() {
let _this = this;
_this .$refs.chooseProjectName.blur();
},
visibleType(e) {
// 弹框
let _this = this;
_this.$nextTick(() => {
// 不显示下拉框
_this.$refs.chooseProjectName.blur();
});
},
// 下拉组件删除节点触发
removeTag(data) {
let _this = this;
// 清除对应树节点
let getCheckItem = _this.$refs.tree.getCheckedNodes();
let hasExict = getCheckItem.find((gitem, index) => {
return gitem.id == data;
});
if (hasExict) {
_this.$refs.tree.setChecked(hasExict, false);
}
},
// 获取当前选中树组件的节点,双向绑定到下拉组件,
getCurrentData() {
let _this = this;
_this.filterText = _this.$refs.tree.getCheckedKeys();
},
//相关数据
filterText: [],
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',
},
],
},
],
defaultProps: {
children: 'children',
label: 'label',
},
options: [
{
value: 1,
label: '一级 1',
},
{
value: 2,
label: '一级 2',
},
{
value: '选项3',
label: '蚵仔煎',
},
{
value: '选项4',
label: '龙须面',
},
{
value: '选项5',
label: '北京烤鸭',
},
],
GitHub 加速计划 / eleme / element
54.06 K
14.63 K
下载
A Vue.js 2.0 UI Toolkit for Web
最近提交(Master分支:3 个月前 )
c345bb45
7 个月前
a07f3a59
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update transition.md
* Update table.md
* Update table.md
* Update transition.md
* Update popover.md 7 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)