uni-app 11设置备注和标签页

简介: uni-app 11设置备注和标签页


设置备注页 user-tag-set.nvue

<template>
  <view class="page"> 
    <!-- 导航栏 -->
    <free-nav-bar title="设置备注和标签" showBack :showRight="true">
      <free-main-button name="完成" slot="right" @click="submit"></free-main-button>
    </free-nav-bar>
    
    <view class="flex flex-column">
      <text class="font-sm text-secondary px-3 py-2">备注名</text>
      <input type="text" class="font-md border bg-white px-3" placeholder="请填写备注名" style="height: 100rpx;" v-model="nickname"/>
    </view>
    
    <view class="flex flex-column">
      <text class="font-sm text-secondary px-3 py-2">标签</text>
      <view class="border bg-white px-3 flex align-center flex-wrap pt-3 pb-2" @click="openTagSet">
        <view class="border border-main rounded-circle px-2 py-1 mr-1 mb-1" v-for="(item,index) in tagList" :key="index">
          <text class="font main-text-color">{{item}}</text>
        </view>
      </view>
    </view>
    
  </view>
</template>
<script>
  import freeNavBar from '@/components/free-ui/free-nav-bar.vue';
  import freeMainButton from '@/components/free-ui/free-main-button.vue';
  
  export default {
    components: {
      freeNavBar,
      freeMainButton
    },
    data() {
      return {
        id:0,
        nickname:"",
        tagList:['朋友','同学','家人']
      }
    },
    onLoad(e) {
      // if(!e.params){
      //  return this.backToast()
      // }
      // let params = JSON.parse(e.params)
      // this.id = params.user_id
      // this.nickname = params.nickname
      // this.tagList = params.tags == '' ? [] : params.tags.split(',')
      uni.$on('updateTag',(e)=>{
        this.tagList = e
      })
    },
    beforeDestroy() {
      uni.$off('updateTag')
    },
    methods: {
      openTagSet(){
        uni.navigateTo({
          url: '../user-tag-set/user-tag-set?detail='+JSON.stringify(this.tagList)
        });
      },
      // 完成
      submit(){
        uni.$emit('saveRemarkTag',{
          nickname:this.nickname,
          tagList:this.tagList
        });
        uni.navigateBack({
          delta:1
        })
        // $H.post('/friend/setremarktag/'+this.id,{
        //  nickname:this.nickname,
        //  tags:this.tagList.join(',')
        // }).then(res=>{
        //  uni.showToast({
        //    title: '修改成功',
        //    icon: 'none'
        //  });
        //  uni.navigateBack({
        //    delta: 1
        //  });
        // })
      }
    }
  }
</script>
<style>
</style>

设置备注页是酱紫的

设置标签页 user-tag-set.nvue

<template>
  <view class="page">
    <!-- 导航栏 -->
    <free-nav-bar title="添加标签" showBack :showRight="true">
      <free-main-button name="保存" slot="right" @click="save"></free-main-button>
    </free-nav-bar>
    
    <view class="px-3 pt-3 pb-2 border-bottom flex align-center flex-wrap">
      <view class="border border-main rounded-circle py-1 px-2 flex align-center mb-1 mr-1 justify-center" v-for="(item,index) in list" :key="index" @click="delTag(index)">
        <text class="font main-text-color">{{item}}</text>
      </view>
      
      <input type="text" value="" class="border bg-white font rounded-circle text-center" placeholder="添加标签" style="border-style: dashed; width: 180rpx;" v-model="tag" @confirm="addTag" confirm-type="send"/>
    </view>
    
    <view class="flex flex-column">
      <text class="font-sm text-secondary px-3 py-2">所有标签</text>
      <view class="px-3 flex align-center flex-wrap pt-3 pb-2" @click="openTagSet">
        <view class="border bg-white rounded-circle px-2 py-1 mr-1 mb-1" v-for="(item,index) in allList" :key="index" @click="fastAddTag(item)">
          <text class="font text-dark">{{item}}</text>
        </view>
      </view>
    </view>
  </view>
</template>
<script>
  import freeNavBar from '@/components/free-ui/free-nav-bar.vue';
  import freeMainButton from '@/components/free-ui/free-main-button.vue';
  export default {
    components:{
      freeNavBar,
      freeMainButton
    },
    data() {
      return {
        tag:'',
        list:['123'],
        allList:['家人','哈哈哈','朋友']
      }
    },
    methods: {
      // 保存
      save(){
        uni.$emit('updateTag',this.list)
        uni.navigateBack({
          delta:1
        })
      },
      // 增加标签
      addTag(){
        if(this.tag===''){
          return;
        }
        if(this.list.indexOf(this.tag) !== -1){
            this.tag='';
          return uni.showToast({
            title: '标签已存在',
            icon:'none'
          });
        }
        this.list.push(this.tag);
        this.tag = '';
      },
      // 快捷增加标签
      fastAddTag(item){
        if(this.list.indexOf(item) !== -1){
          return uni.showToast({
            title:'标签已存在',
            icon:'none'
          })
        }
        this.list.push(item)
      },
      // 删除标签
      delTag(index){
        uni.showModal({
          content:'是否删除该标签',
          success:(res)=>{
            if(res.confirm){
              this.list.splice(index,1);
            }
          }
        })
      }
    },
    onLoad(e) {
      if(e.detail){
        this.list = JSON.parse(e.detail);
        console.log(this.list);
      }
    }
  }
</script>
<style>
</style>

页面是酱紫的

感谢大家观看,我们下期再见。

目录
相关文章
|
1月前
|
存储 网络安全 数据安全/隐私保护
如何在上架 App 之前设置证书并上传应用
如何在上架 App 之前设置证书并上传应用
|
1月前
|
存储 iOS开发 开发者
如何在上架App之前设置证书并上传应用
在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。
|
移动开发 安全 PHP
微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置
微信分享和微信H5跳转到APP开放标签wx-open-launch-app使用及样式设置
1333 0
|
1月前
uni-app 18个人资料设置开发
uni-app 18个人资料设置开发
32 0
uni-app 18个人资料设置开发
|
1月前
uni-app 12.1设置朋友圈动态权限
uni-app 12.1设置朋友圈动态权限
24 0
uni-app 12.1设置朋友圈动态权限
|
1月前
uni-app 106群资料设置功能
uni-app 106群资料设置功能
21 0
|
1月前
Cordova APP 设置图标
Cordova APP 设置图标
31 1
|
6月前
|
API 开发工具 iOS开发
在应用研发平台EMAS中,ios的推送有没有办法在app端设置在收到通知后是否展示的逻辑
在应用研发平台EMAS中,ios的推送有没有办法在app端设置在收到通知后是否展示的逻辑
45 1
|
1月前
|
XML 数据库 数据安全/隐私保护
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
Android App规范处理中版本设置、发布模式、给数据集SQLite加密的讲解及使用(附源码 超详细必看)
51 0
|
1月前
|
XML Java Android开发
Android Studio App开发之通知渠道NotificationChannel及给华为、小米手机桌面应用添加消息数量角标实战(包括消息重要级别的设置 附源码)
Android Studio App开发之通知渠道NotificationChannel及给华为、小米手机桌面应用添加消息数量角标实战(包括消息重要级别的设置 附源码)
232 0

热门文章

最新文章