57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Vue
		
	
	
| <docs>
 | ||
| ---
 | ||
| order: 2
 | ||
| title:
 | ||
|   zh-CN: 自动调整字符大小
 | ||
|   en-US: Autoset Font Size
 | ||
| ---
 | ||
| 
 | ||
| ## zh-CN
 | ||
| 
 | ||
| 对于字符型的头像,当字符串较长时,字体大小可以根据头像宽度自动调整。
 | ||
| 
 | ||
| ## en-US
 | ||
| 
 | ||
| For letter type Avatar, when the letters are too long to display, the font size can be automatically adjusted according to the width of the Avatar.
 | ||
| </docs>
 | ||
| 
 | ||
| <template>
 | ||
|   <a-avatar
 | ||
|     shape="square"
 | ||
|     size="large"
 | ||
|     :style="{ backgroundColor: color, verticalAlign: 'middle' }"
 | ||
|   >
 | ||
|     {{ avatarValue }}
 | ||
|   </a-avatar>
 | ||
|   <a-button
 | ||
|     size="small"
 | ||
|     :style="{ marginLeft: '16px', verticalAlign: 'middle' }"
 | ||
|     @click="changeValue"
 | ||
|   >
 | ||
|     改变
 | ||
|   </a-button>
 | ||
| </template>
 | ||
| 
 | ||
| <script lang="ts">
 | ||
| import { defineComponent, ref } from 'vue';
 | ||
| 
 | ||
| const UserList = ['U', 'Lucy', 'Tom', 'Edward'];
 | ||
| const colorList = ['#f56a00', '#7265e6', '#ffbf00', '#00a2ae'];
 | ||
| export default defineComponent({
 | ||
|   setup() {
 | ||
|     const avatarValue = ref(UserList[0]);
 | ||
|     const color = ref(colorList[0]);
 | ||
|     const changeValue = () => {
 | ||
|       const index = UserList.indexOf(avatarValue.value);
 | ||
|       avatarValue.value = index < UserList.length - 1 ? UserList[index + 1] : UserList[0];
 | ||
|       color.value = index < colorList.length - 1 ? colorList[index + 1] : colorList[0];
 | ||
|     };
 | ||
|     return {
 | ||
|       avatarValue,
 | ||
|       color,
 | ||
|       changeValue,
 | ||
|     };
 | ||
|   },
 | ||
| });
 | ||
| </script>
 |