Element Cascader 级联选择器的使用示例


Posted in Javascript onJuly 27, 2020

组件—级联选择器

基础用法

Element Cascader 级联选择器的使用示例

<div class="block">
 <span class="demonstration">默认 click 触发子菜单</span>
 <el-cascader
  v-model="value"
  :options="options"
  @change="handleChange"></el-cascader>
</div>
<div class="block">
 <span class="demonstration">hover 触发子菜单</span>
 <el-cascader
  v-model="value"
  :options="options"
  :props="{ expandTrigger: 'hover' }"
  @change="handleChange"></el-cascader>
</div>

<script>
 export default {
  data() {
   return {
    value: [],
    options: [{
     value: 'zhinan',
     label: '指南',
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   };
  },
  methods: {
   handleChange(value) {
    console.log(value);
   }
  }
 };
</script>

禁用选项

Element Cascader 级联选择器的使用示例

<el-cascader :options="options"></el-cascader>

<script>
 export default {
  data() {
   return {
    options: [{
     value: 'zhinan',
     label: '指南',
     disabled: true,
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   };
  }
 };
</script>

可清空

Element Cascader 级联选择器的使用示例

<el-cascader :options="options" clearable></el-cascader>

<script>
 export default {
  data() {
   return {
    options: [{
     value: 'zhinan',
     label: '指南',
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   }
  }
 }
</script>

仅显示最后一级

Element Cascader 级联选择器的使用示例

<el-cascader :options="options" :show-all-levels="false"></el-cascader>

<script>
 export default {
  data() {
   return {
    options: [{
     value: 'zhinan',
     label: '指南',
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   };
  }
 };
</script>

多选

Element Cascader 级联选择器的使用示例

<div class="block">
 <span class="demonstration">默认显示所有Tag</span>
 <el-cascader
  :options="options"
  :props="props"
  clearable></el-cascader>
</div>
<div class="block">
 <span class="demonstration">折叠展示Tag</span>
 <el-cascader
  :options="options"
  :props="props"
  collapse-tags
  clearable></el-cascader>
</div>

<script>
 export default {
  data() {
   return {
    props: { multiple: true },
    options: [{
     value: 1,
     label: '东南',
     children: [{
      value: 2,
      label: '上海',
      children: [
       { value: 3, label: '普陀' },
       { value: 4, label: '黄埔' },
       { value: 5, label: '徐汇' }
      ]
     }, {
      value: 7,
      label: '江苏',
      children: [
       { value: 8, label: '南京' },
       { value: 9, label: '苏州' },
       { value: 10, label: '无锡' }
      ]
     }, {
      value: 12,
      label: '浙江',
      children: [
       { value: 13, label: '杭州' },
       { value: 14, label: '宁波' },
       { value: 15, label: '嘉兴' }
      ]
     }]
    }, {
     value: 17,
     label: '西北',
     children: [{
      value: 18,
      label: '陕西',
      children: [
       { value: 19, label: '西安' },
       { value: 20, label: '延安' }
      ]
     }, {
      value: 21,
      label: '新疆维吾尔族自治区',
      children: [
       { value: 22, label: '乌鲁木齐' },
       { value: 23, label: '克拉玛依' }
      ]
     }]
    }]
   };
  }
 };
</script>

选择任意一级选项

Element Cascader 级联选择器的使用示例

<div class="block">
 <span class="demonstration">单选选择任意一级选项</span>
 <el-cascader
  :options="options"
  :props="{ checkStrictly: true }"
  clearable></el-cascader>
</div>
<div class="block">
 <span class="demonstration">多选选择任意一级选项</span>
 <el-cascader
  :options="options"
  :props="{ multiple: true, checkStrictly: true }"
  clearable></el-cascader>
</div>

<script>
 export default {
  data() {
   return {
    options: [{
     value: 'zhinan',
     label: '指南',
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   };
  }
 };
</script>

动态加载

Element Cascader 级联选择器的使用示例

<el-cascader :props="props"></el-cascader>

<script>
 let id = 0;

 export default {
  data() {
   return {
    props: {
     lazy: true,
     lazyLoad (node, resolve) {
      const { level } = node;
      setTimeout(() => {
       const nodes = Array.from({ length: level + 1 })
        .map(item => ({
         value: ++id,
         label: `选项${id}`,
         leaf: level >= 2
        }));
       // 通过调用resolve将子节点数据返回,通知组件数据加载完成
       resolve(nodes);
      }, 1000);
     }
    }
   };
  }
 };

可搜索

Element Cascader 级联选择器的使用示例

<div class="block">
 <span class="demonstration">单选可搜索</span>
 <el-cascader
  placeholder="试试搜索:指南"
  :options="options"
  filterable></el-cascader>
</div>
<div class="block">
 <span class="demonstration">多选可搜索</span>
 <el-cascader
  placeholder="试试搜索:指南"
  :options="options"
  :props="{ multiple: true }"
  filterable></el-cascader>
</div>

<script>
 export default {
  data() {
   return {
    options: [{
     value: 'zhinan',
     label: '指南',
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   };
  }
 };
</script>

自定义节点内容

Element Cascader 级联选择器的使用示例

<el-cascader :options="options">
 <template slot-scope="{ node, data }">
  <span>{{ data.label }}</span>
  <span v-if="!node.isLeaf"> ({{ data.children.length }}) </span>
 </template>
</el-cascader>

<script>
 export default {
  data() {
   return {
    options: [{
     value: 'zhinan',
     label: '指南',
     children: [{
      value: 'shejiyuanze',
      label: '设计原则',
      children: [{
       value: 'yizhi',
       label: '一致'
      }, {
       value: 'fankui',
       label: '反馈'
      }, {
       value: 'xiaolv',
       label: '效率'
      }, {
       value: 'kekong',
       label: '可控'
      }]
     }, {
      value: 'daohang',
      label: '导航',
      children: [{
       value: 'cexiangdaohang',
       label: '侧向导航'
      }, {
       value: 'dingbudaohang',
       label: '顶部导航'
      }]
     }]
    }, {
     value: 'zujian',
     label: '组件',
     children: [{
      value: 'basic',
      label: 'Basic',
      children: [{
       value: 'layout',
       label: 'Layout 布局'
      }, {
       value: 'color',
       label: 'Color 色彩'
      }, {
       value: 'typography',
       label: 'Typography 字体'
      }, {
       value: 'icon',
       label: 'Icon 图标'
      }, {
       value: 'button',
       label: 'Button 按钮'
      }]
     }, {
      value: 'form',
      label: 'Form',
      children: [{
       value: 'radio',
       label: 'Radio 单选框'
      }, {
       value: 'checkbox',
       label: 'Checkbox 多选框'
      }, {
       value: 'input',
       label: 'Input 输入框'
      }, {
       value: 'input-number',
       label: 'InputNumber 计数器'
      }, {
       value: 'select',
       label: 'Select 选择器'
      }, {
       value: 'cascader',
       label: 'Cascader 级联选择器'
      }, {
       value: 'switch',
       label: 'Switch 开关'
      }, {
       value: 'slider',
       label: 'Slider 滑块'
      }, {
       value: 'time-picker',
       label: 'TimePicker 时间选择器'
      }, {
       value: 'date-picker',
       label: 'DatePicker 日期选择器'
      }, {
       value: 'datetime-picker',
       label: 'DateTimePicker 日期时间选择器'
      }, {
       value: 'upload',
       label: 'Upload 上传'
      }, {
       value: 'rate',
       label: 'Rate 评分'
      }, {
       value: 'form',
       label: 'Form 表单'
      }]
     }, {
      value: 'data',
      label: 'Data',
      children: [{
       value: 'table',
       label: 'Table 表格'
      }, {
       value: 'tag',
       label: 'Tag 标签'
      }, {
       value: 'progress',
       label: 'Progress 进度条'
      }, {
       value: 'tree',
       label: 'Tree 树形控件'
      }, {
       value: 'pagination',
       label: 'Pagination 分页'
      }, {
       value: 'badge',
       label: 'Badge 标记'
      }]
     }, {
      value: 'notice',
      label: 'Notice',
      children: [{
       value: 'alert',
       label: 'Alert 警告'
      }, {
       value: 'loading',
       label: 'Loading 加载'
      }, {
       value: 'message',
       label: 'Message 消息提示'
      }, {
       value: 'message-box',
       label: 'MessageBox 弹框'
      }, {
       value: 'notification',
       label: 'Notification 通知'
      }]
     }, {
      value: 'navigation',
      label: 'Navigation',
      children: [{
       value: 'menu',
       label: 'NavMenu 导航菜单'
      }, {
       value: 'tabs',
       label: 'Tabs 标签页'
      }, {
       value: 'breadcrumb',
       label: 'Breadcrumb 面包屑'
      }, {
       value: 'dropdown',
       label: 'Dropdown 下拉菜单'
      }, {
       value: 'steps',
       label: 'Steps 步骤条'
      }]
     }, {
      value: 'others',
      label: 'Others',
      children: [{
       value: 'dialog',
       label: 'Dialog 对话框'
      }, {
       value: 'tooltip',
       label: 'Tooltip 文字提示'
      }, {
       value: 'popover',
       label: 'Popover 弹出框'
      }, {
       value: 'card',
       label: 'Card 卡片'
      }, {
       value: 'carousel',
       label: 'Carousel 走马灯'
      }, {
       value: 'collapse',
       label: 'Collapse 折叠面板'
      }]
     }]
    }, {
     value: 'ziyuan',
     label: '资源',
     children: [{
      value: 'axure',
      label: 'Axure Components'
     }, {
      value: 'sketch',
      label: 'Sketch Templates'
     }, {
      value: 'jiaohu',
      label: '组件交互文档'
     }]
    }]
   }
  }
 }
</script>

级联面板

Element Cascader 级联选择器的使用示例

<el-cascader-panel :options="options"></el-cascader-panel>

<script>
export default {
data() {
 return {
  options: [{
   value: 'zhinan',
   label: '指南',
   children: [{
    value: 'shejiyuanze',
    label: '设计原则',
    children: [{
     value: 'yizhi',
     label: '一致'
    }, {
     value: 'fankui',
     label: '反馈'
    }, {
     value: 'xiaolv',
     label: '效率'
    }, {
     value: 'kekong',
     label: '可控'
    }]
   }, {
    value: 'daohang',
    label: '导航',
    children: [{
     value: 'cexiangdaohang',
     label: '侧向导航'
    }, {
     value: 'dingbudaohang',
     label: '顶部导航'
    }]
   }]
  }, {
   value: 'zujian',
   label: '组件',
   children: [{
    value: 'basic',
    label: 'Basic',
    children: [{
     value: 'layout',
     label: 'Layout 布局'
    }, {
     value: 'color',
     label: 'Color 色彩'
    }, {
     value: 'typography',
     label: 'Typography 字体'
    }, {
     value: 'icon',
     label: 'Icon 图标'
    }, {
     value: 'button',
     label: 'Button 按钮'
    }]
   }, {
    value: 'form',
    label: 'Form',
    children: [{
     value: 'radio',
     label: 'Radio 单选框'
    }, {
     value: 'checkbox',
     label: 'Checkbox 多选框'
    }, {
     value: 'input',
     label: 'Input 输入框'
    }, {
     value: 'input-number',
     label: 'InputNumber 计数器'
    }, {
     value: 'select',
     label: 'Select 选择器'
    }, {
     value: 'cascader',
     label: 'Cascader 级联选择器'
    }, {
     value: 'switch',
     label: 'Switch 开关'
    }, {
     value: 'slider',
     label: 'Slider 滑块'
    }, {
     value: 'time-picker',
     label: 'TimePicker 时间选择器'
    }, {
     value: 'date-picker',
     label: 'DatePicker 日期选择器'
    }, {
     value: 'datetime-picker',
     label: 'DateTimePicker 日期时间选择器'
    }, {
     value: 'upload',
     label: 'Upload 上传'
    }, {
     value: 'rate',
     label: 'Rate 评分'
    }, {
     value: 'form',
     label: 'Form 表单'
    }]
   }, {
    value: 'data',
    label: 'Data',
    children: [{
     value: 'table',
     label: 'Table 表格'
    }, {
     value: 'tag',
     label: 'Tag 标签'
    }, {
     value: 'progress',
     label: 'Progress 进度条'
    }, {
     value: 'tree',
     label: 'Tree 树形控件'
    }, {
     value: 'pagination',
     label: 'Pagination 分页'
    }, {
     value: 'badge',
     label: 'Badge 标记'
    }]
   }, {
    value: 'notice',
    label: 'Notice',
    children: [{
     value: 'alert',
     label: 'Alert 警告'
    }, {
     value: 'loading',
     label: 'Loading 加载'
    }, {
     value: 'message',
     label: 'Message 消息提示'
    }, {
     value: 'message-box',
     label: 'MessageBox 弹框'
    }, {
     value: 'notification',
     label: 'Notification 通知'
    }]
   }, {
    value: 'navigation',
    label: 'Navigation',
    children: [{
     value: 'menu',
     label: 'NavMenu 导航菜单'
    }, {
     value: 'tabs',
     label: 'Tabs 标签页'
    }, {
     value: 'breadcrumb',
     label: 'Breadcrumb 面包屑'
    }, {
     value: 'dropdown',
     label: 'Dropdown 下拉菜单'
    }, {
     value: 'steps',
     label: 'Steps 步骤条'
    }]
   }, {
    value: 'others',
    label: 'Others',
    children: [{
     value: 'dialog',
     label: 'Dialog 对话框'
    }, {
     value: 'tooltip',
     label: 'Tooltip 文字提示'
    }, {
     value: 'popover',
     label: 'Popover 弹出框'
    }, {
     value: 'card',
     label: 'Card 卡片'
    }, {
     value: 'carousel',
     label: 'Carousel 走马灯'
    }, {
     value: 'collapse',
     label: 'Collapse 折叠面板'
    }]
   }]
  }, {
   value: 'ziyuan',
   label: '资源',
   children: [{
    value: 'axure',
    label: 'Axure Components'
   }, {
    value: 'sketch',
    label: 'Sketch Templates'
   }, {
    value: 'jiaohu',
    label: '组件交互文档'
   }]
  }]
 };
}
};
</script>

Cascader Attributes

Element Cascader 级联选择器的使用示例

Element Cascader 级联选择器的使用示例

Cascader Events

Element Cascader 级联选择器的使用示例

Cascader Slots

Element Cascader 级联选择器的使用示例

CascaderPanel Attributes

Element Cascader 级联选择器的使用示例

CascaderPanel Events

Element Cascader 级联选择器的使用示例

CascaderPanel Slots

Element Cascader 级联选择器的使用示例

Props

Element Cascader 级联选择器的使用示例

Element Cascader 级联选择器的使用示例

到此这篇关于Element Cascader 级联选择器的使用示例的文章就介绍到这了,更多相关Element Cascader 级联选择器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
Jun 21 Javascript
Json对象与Json字符串互转(4种转换方式)
Mar 27 Javascript
JavaScript中圆括号()和方括号[]的特殊用法疑问解答
Aug 06 Javascript
深入解读JavaScript中的Hoisting机制
Aug 12 Javascript
JavaScript实现简单的拖动效果
Jul 02 Javascript
vue-router 中router-view不能渲染的解决方法
May 23 Javascript
纯js实现图片匀速淡入淡出效果
Aug 22 Javascript
vue对storejs获取的数据进行处理时遇到的几种问题小结
Mar 20 Javascript
浅析vue-router原理
Oct 19 Javascript
解决vue动态路由异步加载import组件,加载不到module的问题
Jul 26 Javascript
详解vue组件之间的通信
Aug 30 Javascript
一小时迅速入门Mybatis之bind与多数据源支持 Java API
Sep 15 Javascript
vue 通过绑定事件获取当前行的id操作
Jul 27 #Javascript
Element Rate 评分的使用方法
Jul 27 #Javascript
Element InputNumber计数器的使用方法
Jul 27 #Javascript
基于Vue中的父子传值问题解决
Jul 27 #Javascript
element日历calendar组件上月、今天、下月、日历块点击事件及模板源码
Jul 27 #Javascript
JS图片懒加载技术实现过程解析
Jul 27 #Javascript
Element Notification通知的实现示例
Jul 27 #Javascript
You might like
网站加速 PHP 缓冲的免费实现方法
2006/10/09 PHP
libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢
2010/03/15 PHP
PHP实现过滤各种HTML标签
2015/05/17 PHP
AutoSave/自动存储功能实现
2007/03/24 Javascript
利用js对象弹出一个层
2008/03/26 Javascript
js 控制图片大小核心讲解
2013/10/09 Javascript
JavaScript中的console.dir()函数介绍
2014/12/29 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
基于Echarts 3.19 制作常用的图形(非静态)
2016/05/19 Javascript
基于jQuery实现的查看全文功能【实用】
2016/12/11 Javascript
Bootstrap CSS布局之按钮
2016/12/17 Javascript
JS实现图片高斯模糊切换效果的焦点图实例
2017/01/21 Javascript
ztree简介_动力节点Java学院整理
2017/07/19 Javascript
2019年度web前端面试题总结(主要为Vue面试题)
2020/01/12 Javascript
vue通过v-html指令渲染的富文本无法修改样式的解决方案
2020/05/20 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
Python脚本实现代码行数统计代码分享
2015/03/10 Python
Python常见数据结构之栈与队列用法示例
2019/01/14 Python
python装饰器使用实例详解
2019/12/14 Python
postman和python mock测试过程图解
2020/02/22 Python
Django添加bootstrap框架时无法加载静态文件的解决方式
2020/03/27 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
小白教你PyCharm从下载到安装再到科学使用PyCharm2020最新激活码
2020/09/25 Python
python Matplotlib基础--如何添加文本和标注
2021/01/26 Python
英国在线自行车店:Merlin Cycles
2018/08/20 全球购物
幼师自我鉴定范文
2013/10/01 职场文书
主持人演讲稿范文
2013/12/28 职场文书
校本教研工作制度
2014/01/22 职场文书
技校学生个人职业生涯规划范文
2014/03/03 职场文书
《火烧云》教学反思
2014/04/12 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
学校党委干部个人对照检查材料思想汇报
2014/10/09 职场文书
保送生自荐信
2015/03/06 职场文书
漫画「你在春天醒来」第10卷封面公开
2022/03/21 日漫