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 相关文章推荐
JQuery Easyui Tree的oncheck事件实现代码
May 28 Javascript
js清理Word格式示例代码
Feb 13 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
查询json的数据结构的8种方式简介
Mar 10 Javascript
使用typeof判断function是否存在于上下文
Aug 14 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
100行代码理解和分析vue2.0响应式架构
Mar 09 Javascript
解决bootstrap中使用modal加载kindeditor时弹出层文本框不能输入的问题
Jun 05 Javascript
javascript数组定义的几种方法
Oct 06 Javascript
Webpack中loader打包各种文件的方法实例
Sep 03 Javascript
Vue 的双向绑定原理与用法揭秘
May 06 Javascript
vue el-tree 默认展开第一个节点的实现代码
May 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/12/25 PHP
php 缓存函数代码
2008/08/27 PHP
PHP生成验证码时“图像因其本身有错无法显示”的解决方法
2013/08/07 PHP
PHP设置一边执行一边输出结果的代码
2013/09/30 PHP
一个好用的PHP验证码类实例分享
2013/12/27 PHP
ThinkPHP缓存方法S()概述
2014/06/13 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP中多线程的两个实现方法
2016/10/14 PHP
yii插入数据库防并发的简单代码
2017/05/27 PHP
如何让您的中波更粗更长 - 中波框形天线制作
2021/03/10 无线电
javascript 多种搜索引擎集成的页面实现代码
2010/01/02 Javascript
判断目标是否是window,document,和拥有tagName的Element的代码
2010/05/31 Javascript
JavaScript 对象模型 执行模型
2010/10/15 Javascript
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
jQuery循环滚动新闻列表示例代码
2014/06/17 Javascript
js实现同一页面可多次调用的图片幻灯切换效果
2015/02/28 Javascript
Angularjs 自定义服务的三种方式(推荐)
2016/08/02 Javascript
浅谈JavaScript中变量和函数声明的提升
2016/08/09 Javascript
使用vue实现简单键盘的示例(支持移动端和pc端)
2017/12/25 Javascript
10行原生JS实现文字无缝滚动(超简单)
2018/01/02 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
2018/01/22 jQuery
vue源码nextTick使用及原理解析
2019/08/13 Javascript
在Linux上安装Python的Flask框架和创建第一个app实例的教程
2015/03/30 Python
Python subprocess模块常见用法分析
2018/06/12 Python
python实现对输入的密文加密
2019/03/20 Python
基于python实现上传文件到OSS代码实例
2020/05/09 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
俄罗斯护发和专业化妆品购物网站:Hihair
2019/09/28 全球购物
烹饪自我鉴定
2014/03/01 职场文书
劳动竞赛活动总结
2014/05/05 职场文书
大学应届毕业生求职信
2014/05/24 职场文书
绿里奇迹观后感
2015/06/15 职场文书
重阳节主题班会
2015/08/17 职场文书
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python