69 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| <template>
 | |
|   <div class="form-branch-container">
 | |
|     <p
 | |
|       v-if="props.title"
 | |
|       class="card-title"
 | |
|     >
 | |
|       {{ props.title }}
 | |
|     </p>
 | |
|     <div
 | |
|       v-for="(item, index) in props.list"
 | |
|       :key="index"
 | |
|       class="form-branch-item"
 | |
|       @click="listItemClick(item)"
 | |
|     >
 | |
|       {{ item.content }}
 | |
|     </div>
 | |
|   </div>
 | |
| </template>
 | |
| 
 | |
| <script lang="ts">
 | |
| interface branchItem {
 | |
|   content: string;
 | |
|   desc: string;
 | |
| }
 | |
| 
 | |
| interface Props {
 | |
|   title: string;
 | |
|   list: branchItem[];
 | |
| }
 | |
| 
 | |
| export default {
 | |
|   props: {
 | |
|     title: {
 | |
|       type: String,
 | |
|       default: '',
 | |
|     },
 | |
|     list: {
 | |
|       type: Array,
 | |
|       default: () => [],
 | |
|     },
 | |
|   },
 | |
|   emits: ['input-click'],
 | |
|   setup(props: Props, { emit }) {
 | |
|     const listItemClick = (branch: branchItem): void => {
 | |
|       emit('input-click', branch);
 | |
|     };
 | |
|     return {
 | |
|       props,
 | |
|       listItemClick,
 | |
|     };
 | |
|   },
 | |
| };
 | |
| </script>
 | |
| <style lang="scss">
 | |
| .form-branch-container {
 | |
|   .card-title {
 | |
|     margin-bottom: 8px;
 | |
|   }
 | |
| 
 | |
|   .form-branch-item {
 | |
|     font-weight: 400;
 | |
|     color: rgba(54, 141, 255, 1);
 | |
|     padding-top: 5px;
 | |
|     cursor: pointer;
 | |
|     padding-bottom: 5px;
 | |
|   }
 | |
| }
 | |
| </style>
 |