mirror of https://github.com/ElemeFE/element
				
				
				
			
		
			
				
	
	
		
			156 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Markdown
		
	
	
			
		
		
	
	
			156 lines
		
	
	
		
			6.5 KiB
		
	
	
	
		
			Markdown
		
	
	
<script>
 | 
						|
  export default {
 | 
						|
    data() {
 | 
						|
      return {
 | 
						|
        activeNames: ['1'],
 | 
						|
        activeName: '1'
 | 
						|
      };
 | 
						|
    },
 | 
						|
    methods: {
 | 
						|
      handleChange(val) {
 | 
						|
        console.log(val);
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script>
 | 
						|
 | 
						|
<style>
 | 
						|
  .demo-collapse {
 | 
						|
    .el-collapse-item__header {
 | 
						|
      .header-icon {
 | 
						|
        margin-left: 5px;
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
</style>
 | 
						|
 | 
						|
## Collapse
 | 
						|
 | 
						|
Use Collapse to store contents.
 | 
						|
 | 
						|
### Basic usage
 | 
						|
 | 
						|
You can expand multiple panels
 | 
						|
 | 
						|
:::demo
 | 
						|
```html
 | 
						|
<el-collapse v-model="activeNames" @change="handleChange">
 | 
						|
  <el-collapse-item title="Consistency" name="1">
 | 
						|
    <div>Consistent with real life: in line with the process and logic of real life, and comply with languages and habits that the users are used to;</div>
 | 
						|
    <div>Consistent within interface: all elements should be consistent, such as: design style, icons and texts, position of elements, etc.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Feedback" name="2">
 | 
						|
    <div>Operation feedback: enable the users to clearly perceive their operations by style updates and interactive effects;</div>
 | 
						|
    <div>Visual feedback: reflect current state by updating or rearranging elements of the page.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Efficiency" name="3">
 | 
						|
    <div>Simplify the process: keep operating process simple and intuitive;</div>
 | 
						|
    <div>Definite and clear: enunciate your intentions clearly so that the users can quickly understand and make decisions;</div>
 | 
						|
    <div>Easy to identify: the interface should be straightforward, which helps the users to identify and frees them from memorizing and recalling.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Controllability" name="4">
 | 
						|
    <div>Decision making: giving advices about operations is acceptable, but do not make decisions for the users;</div>
 | 
						|
    <div>Controlled consequences: users should be granted the freedom to operate, including canceling, aborting or terminating current operation.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
</el-collapse>
 | 
						|
<script>
 | 
						|
  export default {
 | 
						|
    data() {
 | 
						|
      return {
 | 
						|
        activeNames: ['1']
 | 
						|
      };
 | 
						|
    },
 | 
						|
    methods: {
 | 
						|
      handleChange(val) {
 | 
						|
        console.log(val);
 | 
						|
      }
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script>
 | 
						|
```
 | 
						|
:::
 | 
						|
 | 
						|
### Accordion
 | 
						|
 | 
						|
In accordion mode, only one panel can be expanded at once
 | 
						|
 | 
						|
:::demo Activate accordion mode using the `accordion` attribute.
 | 
						|
```html
 | 
						|
<el-collapse v-model="activeName" accordion>
 | 
						|
  <el-collapse-item title="Consistency" name="1">
 | 
						|
    <div>Consistent with real life: in line with the process and logic of real life, and comply with languages and habits that the users are used to;</div>
 | 
						|
    <div>Consistent within interface: all elements should be consistent, such as: design style, icons and texts, position of elements, etc.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Feedback" name="2">
 | 
						|
    <div>Operation feedback: enable the users to clearly perceive their operations by style updates and interactive effects;</div>
 | 
						|
    <div>Visual feedback: reflect current state by updating or rearranging elements of the page.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Efficiency" name="3">
 | 
						|
    <div>Simplify the process: keep operating process simple and intuitive;</div>
 | 
						|
    <div>Definite and clear: enunciate your intentions clearly so that the users can quickly understand and make decisions;</div>
 | 
						|
    <div>Easy to identify: the interface should be straightforward, which helps the users to identify and frees them from memorizing and recalling.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Controllability" name="4">
 | 
						|
    <div>Decision making: giving advices about operations is acceptable, but do not make decisions for the users;</div>
 | 
						|
    <div>Controlled consequences: users should be granted the freedom to operate, including canceling, aborting or terminating current operation.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
</el-collapse>
 | 
						|
<script>
 | 
						|
  export default {
 | 
						|
    data() {
 | 
						|
      return {
 | 
						|
        activeName: '1'
 | 
						|
      };
 | 
						|
    }
 | 
						|
  }
 | 
						|
</script>
 | 
						|
```
 | 
						|
:::
 | 
						|
 | 
						|
### Custom title
 | 
						|
 | 
						|
Besides using the `title` attribute, you can customize panel title with named slots, which makes adding custom content, e.g. icons, possible.
 | 
						|
 | 
						|
:::demo
 | 
						|
```html
 | 
						|
<el-collapse accordion>
 | 
						|
  <el-collapse-item name="1">
 | 
						|
    <template slot="title">
 | 
						|
      Consistency<i class="header-icon el-icon-info"></i>
 | 
						|
    </template>
 | 
						|
    <div>Consistent with real life: in line with the process and logic of real life, and comply with languages and habits that the users are used to;</div>
 | 
						|
    <div>Consistent within interface: all elements should be consistent, such as: design style, icons and texts, position of elements, etc.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Feedback" name="2">
 | 
						|
    <div>Operation feedback: enable the users to clearly perceive their operations by style updates and interactive effects;</div>
 | 
						|
    <div>Visual feedback: reflect current state by updating or rearranging elements of the page.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Efficiency" name="3">
 | 
						|
    <div>Simplify the process: keep operating process simple and intuitive;</div>
 | 
						|
    <div>Definite and clear: enunciate your intentions clearly so that the users can quickly understand and make decisions;</div>
 | 
						|
    <div>Easy to identify: the interface should be straightforward, which helps the users to identify and frees them from memorizing and recalling.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
  <el-collapse-item title="Controllability" name="4">
 | 
						|
    <div>Decision making: giving advices about operations is acceptable, but do not make decisions for the users;</div>
 | 
						|
    <div>Controlled consequences: users should be granted the freedom to operate, including canceling, aborting or terminating current operation.</div>
 | 
						|
  </el-collapse-item>
 | 
						|
</el-collapse>
 | 
						|
```
 | 
						|
:::
 | 
						|
 | 
						|
### Collapse Attributes
 | 
						|
| Attribute      | Description          | Type      | Accepted Values       | Default  |
 | 
						|
|---------- |-------------- |---------- |--------------------------------  |-------- |
 | 
						|
| value / v-model | currently active panel | string (accordion mode) / array (non-accordion mode) | — | — |
 | 
						|
| accordion | whether to activate accordion mode | boolean | — | false |
 | 
						|
 | 
						|
### Collapse Events
 | 
						|
| Event Name | Description | Parameters |
 | 
						|
|---------|---------|---------|
 | 
						|
| change | triggers when active panels change | (activeNames: array (non-accordion mode) / string (accordion mode)) |
 | 
						|
 | 
						|
### Collapse Item Attributes
 | 
						|
| Attribute      | Description          | Type      | Accepted Values       | Default  |
 | 
						|
|---------- |-------------- |---------- |--------------------------------  |-------- |
 | 
						|
| name | unique identification of the panel | string/number | — | — |
 | 
						|
| title | title of the panel | string | — | — | |