在Vue 2的Element UI和Vue 3的Element Plus中,el-cascader
(级联选择器)组件用于从嵌套的数据中进行选择。以下是对这两个版本下el-cascader
组件的属性、事件和方法的详细介绍,并附带示例。
Vue 2的Element UI
el-cascader
属性:
v-model
/value
:绑定值,即选中的值,通常是数组格式,表示选中的路径options
:可选项数据源,格式详见Element UI文档props
:配置选项,用于指定options
中各级数据的字段名value
:指定选项的值为选项对象的某个属性值label
:指定选项的标签为选项对象的某个属性值children
:指定选项的子级为选项对象的某个属性值
placeholder
:占位符clearable
:是否支持清除show-all-levels
:输入框中是否显示选中的所有级联项collapse-tags
:多选时是否折叠tagseparator
:选项分隔符expand-trigger
:次级菜单的展开方式,可选值有click
和hover
check-strictly
:是否严格遵守父子节点不互相关联的选择lazy
:是否懒加载子节点,需配合lazy-load
方法使用lazy-load
:加载子节点的函数,仅在lazy
为true
时有效...
(其他原生select
属性)
事件:
change
:当绑定值变化时触发的事件expand-change
:当展开或收起节点时触发的事件visible-change
:当下拉列表的显示状态变化时触发的事件remove-tag
:在可多选模式下移除某个被选中的节点时触发的事件clear
:在可清空模式下清空选项时触发的事件
方法(Element UI的el-cascader
没有直接提供方法,但可以通过属性和事件来控制其行为)
示例:
<template><el-cascaderv-model="selectedOptions":options="options"placeholder="请选择"@change="handleChange"></el-cascader>
</template><script>
export default {data() {return {selectedOptions: [],options: [{value: 'zhejiang',label: '浙江',children: [{value: 'hangzhou',label: '杭州',children: [{value: 'xihu',label: '西湖',},],},],},// ...其他选项],};},methods: {handleChange(value) {console.log(value);},},
};
</script>
Vue 3的Element Plus
在Element Plus中,el-cascader
的使用与Vue 2中的Element UI类似,但可能会有一些新增或调整的属性、事件和方法。你应该查阅Element Plus的官方文档以获取最新的信息。
属性、事件和方法的大部分与Vue 2中的Element UI相同,但可能有一些变化或增加。
示例(在Vue 3中使用Composition API):
<template><el-cascaderv-model="selectedOptions":options="options"placeholder="请选择"@change="handleChange"></el-cascader>
</template><script>
import { ref } from 'vue';export default {setup() {const selectedOptions = ref([]);const options = ref([// ...选项数据]);const handleChange = (value) => {console.log(value);};return {selectedOptions,options,handleChange,};},
};
</script>
请注意,在Vue 3的Composition API中,我们使用ref
来创建响应式数据。其他部分(如属性和事件的使用)与Vue 2中的使用方式相同。