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>

页面是酱紫的

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

目录
相关文章
|
8月前
|
存储 网络安全 数据安全/隐私保护
如何在上架 App 之前设置证书并上传应用
如何在上架 App 之前设置证书并上传应用
|
8月前
|
存储 iOS开发 开发者
如何在上架App之前设置证书并上传应用
在上架App之前想要进行真机测试的同学,请查看《iOS- 最全的真机测试教程》,里面包含如何让多台电脑同时上架App和真机调试。
|
2月前
|
缓存 容器 Perl
【Azure Container App】Container Apps 设置延迟删除 (terminationGracePeriodSeconds) 的解释
terminationGracePeriodSeconds : 这个参数的定义是从pod收到terminated signal到最终shutdown的最大时间,这段时间是给pod中的application 缓冲时间用来处理链接关闭,应用清理缓存的;并不是从idel 到 pod被shutdown之间的时间;且是最大时间,意味着如果application 已经gracefully shutdown,POD可能被提前terminated.
|
5月前
|
开发工具 git
【Azure App Service】App Service设置访问限制后,使用git clone代码库出现403报错
【Azure App Service】App Service设置访问限制后,使用git clone代码库出现403报错
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
图库,设计类软件,App视频截图软件,外加设计图库,在你截取视频就能够实现图片收录,通过设计类网站后台控制系统,可以提前设置好,统计的分类内容,定义好分类,自动收录图片,再将截图汇总整理展示
|
5月前
|
缓存 前端开发 Java
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
【Azure 应用服务】App Service 使用Tomcat运行Java应用,如何设置前端网页缓存的相应参数呢(-Xms512m -Xmx1204m)?
|
5月前
|
网络协议
【Azure 应用服务】探索在Azure上设置禁止任何人访问App Service的默认域名(Default URL)
【Azure 应用服务】探索在Azure上设置禁止任何人访问App Service的默认域名(Default URL)
|
5月前
|
API 网络架构 开发者
【Azure 应用服务】App Service多个部署槽(Slot)之间,设置Traffic百分比后,如何来判断请求是由那一个槽(Slot)来进行处理呢?
【Azure 应用服务】App Service多个部署槽(Slot)之间,设置Traffic百分比后,如何来判断请求是由那一个槽(Slot)来进行处理呢?
|
5月前
|
应用服务中间件 Linux nginx
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
|
5月前
|
Python Windows 内存技术
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?
【Azure 应用服务】Azure App Service (Windows) 使用Flask框架部署Python应用,如何在代码中访问静态文件呢?如何设置文件路径?是相对路径还是绝对路径呢?