提交 d15933b0 authored 作者: 王鹏飞's avatar 王鹏飞

QuestionTypeTreeselect组件新增搜索

上级 0c5cd13d
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
@remove-tag="handleRemoveTag" @remove-tag="handleRemoveTag"
ref="select" ref="select"
> >
<div style="margin: 10px 14px">
<el-input placeholder="搜索" v-model="filterText" clearable style="margin-bottom: 10px"></el-input>
<el-tree <el-tree
node-key="id" node-key="id"
show-checkbox show-checkbox
...@@ -15,11 +17,13 @@ ...@@ -15,11 +17,13 @@
:defaultExpandedKeys="defaultExpandedKeys" :defaultExpandedKeys="defaultExpandedKeys"
:props="defaultProps" :props="defaultProps"
:check-strictly="checkStrictly" :check-strictly="checkStrictly"
:filter-node-method="filterNode"
@check-change="handleChange" @check-change="handleChange"
v-bind="$attrs" v-bind="$attrs"
v-on="$listeners" v-on="$listeners"
ref="tree" ref="tree"
></el-tree> ></el-tree>
</div>
</el-select> </el-select>
</template> </template>
...@@ -33,6 +37,7 @@ export default { ...@@ -33,6 +37,7 @@ export default {
}, },
data() { data() {
return { return {
filterText: '',
selectValue: [], selectValue: [],
options: [], options: [],
defaultExpandedKeys: [] defaultExpandedKeys: []
...@@ -44,6 +49,9 @@ export default { ...@@ -44,6 +49,9 @@ export default {
handler() { handler() {
this.setChecked() this.setChecked()
} }
},
filterText(val) {
this.$refs.tree.filter(val)
} }
}, },
computed: { computed: {
...@@ -83,6 +91,10 @@ export default { ...@@ -83,6 +91,10 @@ export default {
} }
this.selectValue = this.multiple ? nodes : nodes.map(item => item.category_name) this.selectValue = this.multiple ? nodes : nodes.map(item => item.category_name)
}, },
filterNode(value, data) {
if (!value) return true
return data.category_name.indexOf(value) !== -1
},
handleChange(data, checked) { handleChange(data, checked) {
const RefTree = this.$refs.tree const RefTree = this.$refs.tree
if (!this.multiple && checked) { if (!this.multiple && checked) {
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论