From b96ea0753bfd769693a368cf1e3d8316688c0dcb Mon Sep 17 00:00:00 2001 From: 无木 <netfan@foxmail.com> Date: 星期六, 03 七月 2021 23:12:54 +0800 Subject: [PATCH] feat(avatar-cropper): more props added --- src/views/demo/page/account/setting/BaseSetting.vue | 34 +++++++++++++++++++++++----------- 1 files changed, 23 insertions(+), 11 deletions(-) diff --git a/src/views/demo/page/account/setting/BaseSetting.vue b/src/views/demo/page/account/setting/BaseSetting.vue index 87c546b..2968a96 100644 --- a/src/views/demo/page/account/setting/BaseSetting.vue +++ b/src/views/demo/page/account/setting/BaseSetting.vue @@ -7,10 +7,14 @@ <a-col :span="10"> <div class="change-avatar"> <div class="mb-2"> 澶村儚 </div> - <img width="140" :src="avatar" /> - <Upload :showUploadList="false"> - <Button class="ml-5"> <Icon icon="feather:upload" />鏇存崲澶村儚 </Button> - </Upload> + <CropperAvatar + :uploadApi="uploadApi" + :value="avatar" + btnText="鏇存崲澶村儚" + :btnProps="{ preIcon: 'ant-design:cloud-upload-outlined' }" + @change="updateAvatar" + width="150" + /> </div> </a-col> </a-row> @@ -18,11 +22,11 @@ </CollapseContainer> </template> <script lang="ts"> - import { Button, Upload, Row, Col } from 'ant-design-vue'; + import { Button, Row, Col } from 'ant-design-vue'; import { computed, defineComponent, onMounted } from 'vue'; import { BasicForm, useForm } from '/@/components/Form/index'; - import { CollapseContainer } from '/@/components/Container/index'; - import Icon from '/@/components/Icon/index'; + import { CollapseContainer } from '/@/components/Container'; + import { CropperAvatar } from '/@/components/Cropper'; import { useMessage } from '/@/hooks/web/useMessage'; @@ -30,16 +34,16 @@ import { accountInfoApi } from '/@/api/demo/account'; import { baseSetschemas } from './data'; import { useUserStore } from '/@/store/modules/user'; + import { uploadApi } from '/@/api/sys/upload'; export default defineComponent({ components: { BasicForm, CollapseContainer, Button, - Upload, - Icon, - [Row.name]: Row, - [Col.name]: Col, + ARow: Row, + ACol: Col, + CropperAvatar, }, setup() { const { createMessage } = useMessage(); @@ -61,9 +65,17 @@ return avatar || headerImg; }); + function updateAvatar(src: string) { + const userinfo = userStore.getUserInfo; + userinfo.avatar = src; + userStore.setUserInfo(userinfo); + } + return { avatar, register, + uploadApi, + updateAvatar, handleSubmit: () => { createMessage.success('鏇存柊鎴愬姛锛�'); }, -- Gitblit v1.8.0