edit-description.uvue 989 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <template>
  2. <cl-page>
  3. <cl-topbar safe-area-top :title="t('编辑简介')" background-color="transparent"> </cl-topbar>
  4. <view class="p-3">
  5. <cl-textarea
  6. v-model="content"
  7. :placeholder="t('介绍一下自己')"
  8. :border="false"
  9. :height="120"
  10. >
  11. </cl-textarea>
  12. </view>
  13. <cl-footer>
  14. <cl-button size="large" :disabled="content == ''" @tap="confirm">{{
  15. t("确认")
  16. }}</cl-button>
  17. </cl-footer>
  18. </cl-page>
  19. </template>
  20. <script setup lang="ts">
  21. import { router, userInfo, useStore, t } from "@/.cool";
  22. import { useUi } from "@/uni_modules/cool-ui";
  23. import { ref } from "vue";
  24. const ui = useUi();
  25. const { user } = useStore();
  26. // 输入框内容
  27. const content = ref("");
  28. async function confirm() {
  29. if (content.value == "") {
  30. return ui.showToast({
  31. message: t("简介不能为空")
  32. });
  33. }
  34. await user.update({
  35. description: content.value
  36. });
  37. router.back();
  38. }
  39. onReady(() => {
  40. content.value = userInfo.value?.description ?? "";
  41. });
  42. </script>