在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-cascader
v-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-cascader
v-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中的使用方式相同。