personal-user.vue 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. <template>
  2. <v-header title="我的信息" backgroundColor="#fff">
  3. <view>
  4. <view
  5. v-for="(item,index) in data"
  6. :key="index"
  7. class="personal-item row aCenter"
  8. :class="['personal-item-'+item.type]"
  9. >
  10. <view class="flex-all-1">{{item.label}}</view>
  11. <view @click.stop="trigger(item)" v-if="item.type==='avatar'" class="personal-item-use-avatar overflow">
  12. <v-image class="personal-item-use-avatar overflow" :src="user[item.key]"></v-image>
  13. </view>
  14. <view v-else class="person-item-value line-1"
  15. @click.stop="trigger(item)"
  16. :class="{'person-item-placeholder':!user[item.key]}"
  17. >{{user[item.key] || item.placeholder || ''}}</view>
  18. <text class="iconfont iconfont-more person-more"></text>
  19. </view>
  20. </view>
  21. <modal v-model="modal">
  22. <view class="screen_all center">
  23. <view class="personal-modal flex">
  24. <view class="personal-modal-header center">{{ useItem.label }}</view>
  25. <view class="personal-modal-input-wrap jCenter">
  26. <input :placeholder="useItem.placeholder" :type="useItem.type || 'text'" :maxlength="useItem.maxLength || 10" v-model="useItem.value" />
  27. </view>
  28. <view class="row flex-all-1 overflow personal-modal-footer">
  29. <view @click="closeModal" class="flex-all-1 center">取消</view>
  30. <view class="flex-all-1 center" @click="triggerSubmit">确定</view>
  31. </view>
  32. </view>
  33. </view>
  34. </modal>
  35. </v-header>
  36. </template>
  37. <script>
  38. import data from './data/data';
  39. import vHeader from '@/components/v-header/main';
  40. import mixins from './mixins';
  41. import VImage from "../../components/v-image/main";
  42. import Modal from "../../components/modal/main";
  43. export default {
  44. name: "personal",
  45. data(){
  46. return {
  47. data
  48. }
  49. },
  50. mixins,
  51. components:{
  52. Modal,
  53. VImage,
  54. vHeader
  55. }
  56. }
  57. </script>
  58. <style src="./style.scss" lang="scss">
  59. </style>