小程序:通讯录的实现

1.address-book.vue
<template>
  <!-- 通讯录 -->
  <view class="address-book">
    <view class="address-book-header">
      <x-nav-bar input title="通讯录" @onInputChange="onChange"></x-nav-bar>
    </view>
    <view class="address-book-main">
      <template v-if="resultList.length != 0">
        <view class="main-list">
          <x-phone
            type="3"
            :phoneList="resultList"
            :isCheckbox="false"
            :searchValue="searchValue"
          ></x-phone>
        </view>
      </template>
      <template v-else>
        <x-no-data v-if="!isLoad"></x-no-data>
      </template>
      <template>
        <view class="main-load" v-if="isLoad">
          <u-loading mode="circle"></u-loading>
        </view>
      </template>
    </view>
    <view class="address-book-tab">
      <x-nav-tab></x-nav-tab>
    </view>
  </view>
</template>
2.address-book.js
<script>
import serve from "../../../mixin/common.js";
export default {
  name: "address-book",
  data() {
    return {
      // 加载数据的动画
      isLoad: false,
      // 保存选择的人员--用于协助申请
      selectedList: [],
      // 储存处理后的数据
      resultList: [],
      searchValue: "",
    };
  },
  onShow() {
    this.searchValue = '';
  },
  onLoad() {
    this.isLoad = true;
    this.getContactsList();
  },
  mounted() {},
  
  methods: {
    //获取通讯录列表
    getContactsList() {
      serve.setContactsList().then((res) => {
        this.handleData(res.data);
      });
    },
    handleData(data) {
      let temporary = [];

      // 对从后台获取的数据进行处理
      for (let i = 0, length = data.length; i < length; i++) {
        temporary = data[i].employe;
        this.resultList.push({
          deptName: data[i].deptName,
          list: [],
        });
        for (let j = 0, num = temporary.length; j < num; j++) {
          this.resultList[i].list.push({
            userName: temporary[j].userName,
            userId: temporary[j].userId,
            phone: temporary[j].phone,
          });
        }
      }
      this.isLoad = false;
    },
    // 改变数据
    onChange(value) {
      this.isLoad = true;
      this.searchValue = value;
    },
  },
  onShareAppMessage(res) {},
};
</script>
3.address-book.scss
<style lang="scss" scoped>
.address-book {
  width: 100vw;
  height: 100vh;
  display: flex;
  flex-direction: column;

  &-header {
    width: 100vw;
  }

  &-main {
    flex: 1;
    overflow: scroll;

    .main-load {
      padding: 30rpx 0;
      text-align: center;
    }
  }
}
</style>
4.自我总结

1.这个页面的构成是头部(搜索)、中间列表部分(通讯录列表展示)、顶部(tab栏)三部分组成
在写x-phone组件的时候,我把头部也算进去了,但是这种做法是错误的,写组件的时候就写一个单独的组件就好了,不要把其他的组件一起绑在一起,切记这个错误。
2.页面的组装类命名,例如头部的命名规范class="address-book-header"以及其他的,都有按照这个规范来的,这样子写让人易懂明了,以后要多多注意。
3.页面的滚动样式设置,是中间那坨滚动。我记得在第一次做的时候,整个页面都会拉动,因为我把头部组件和中间的写在一坨上了,正确的就是以上的写法。
4.在中间列表部分显示部分,我没有考虑有数据显示和无数据的情况,按照上面的写法是外面一个大view,中间是几种情况的template,这在以后的小程序都是很有必要的,也是必须要考虑进去的,这是自己一个不完善的点。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
C语言课程设计通讯录管理系统 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256) 文件编码(008-TTIG-UTITD-GKBTT-PUUTI-WYTUI-8256) C语言课程设计通讯录管理系统全文共44页,当前为第1页。C语言课程设计通讯录管理系统 C语言课程设计通讯录管理系统全文共44页,当前为第1页。 ***科技大学 本科生课程设计说明书 题 目:C语言课程设计 —— 通讯录管理系统 学生姓名:** 学 号:*** 专 业:软件工程 班 级:1 C语言课程设计通讯录管理系统全文共44页,当前为第2页。指导教师:** C语言课程设计通讯录管理系统全文共44页,当前为第2页。 C语言课程设计通讯录管理系统全文共44页,当前为第3页。内蒙古科技大学课程设计任务书 C语言课程设计通讯录管理系统全文共44页,当前为第3页。 课程名称 C语言课程设计 设计题目 通讯录管理系统 指导教师 *** 时间 —— 一、教学要求 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握2. 掌握C语言编程和程序调试的基本技能3. 利用C语言进行基本的软件设计4. 掌握书写程序设计说明文档的能力5. 提高运用C语言解决实际问题的能力 二、设计资料及参数 每个学生在教师提供的课程设计题目中任意选择一题,独立完成,题目选定后不可更换。 通讯录管理系统 现有一批通讯录的数椐,要求输入计算机并存放在内存中,然后增加若干个新通讯录的记录,并可输出通讯录清单,实现文件存盘和读入文件进行修改的功能。通讯录的基本信息包括编号,姓名,电话号码,QQ号码,电子邮件,通讯地址。要求设计菜单来调用其各功能模块: 新建文件、打开文件、保存信息到文件 输入记录、输出记录 查询记录(至少具有两种查询方式,例如以姓名查询和以电话号码查询) 修改、插入和删除记录 三、设计要求及成果 1. 分析课程设计题目的功能需求(可选用数组或链表实现,可多人(最多3人)协作完成一个题目)2. 写出详细设计说明(至少包括功能实现分析和模块流程图)3. 编写程序代码,调试程序使其能正确运行(代码书写要规范,标示符要见名知意,要有必要的注释,每人至少3个函数,每人至少200行代码,不包括注释和花括号)4. 设计完成的软件要便于操作和使用5. 设计完成后提交课程设计报告(请严格按照模板进行排版) 四、进度安排 第一天? 选择课程设计题目,分析课题的要求第二天? 编程第三天? 编程及调试第四天? 写课程设计报告第五天? 提交课程设计报告(打印稿及电子稿) 五、评分标准 1. 根据平时上机考勤、表现和进度,教师将每天点名和检查 2. 根据课程设计完成情况,必须有可运行的软件。3. 根据课程设计报告的质量,如有雷同,则所有雷同的所有人均判为不及格。 六、建议参考资料 1.《C语言程序设计》,谭浩强,清华大学出版社 C语言课程设计通讯录管理系统全文共44页,当前为第4页。2.《C语言程序设计课程设计》,刘振安,机械工业出版社。 C语言课程设计通讯录管理系统全文共44页,当前为第4页。 目 录 C语言课程设计通讯录管理系统全文共44页,当前为第5页。 C语言课程设计通讯录管理系统全文共44页,当前为第5页。 第一章 需求分析 引言 通过程序设计,达到理论与实际应用相结合,提高对信息管理系统的分析能力,能够根据实际应用,初步实现系统功能模块及算法的设计,通过编程基本实现信息管理系统。 任务概述 采用结构体的形式对数据进行输入输出。 可以对通讯录进行简单的排序,筛选,删除。 可以对任意信息就行修改。 可以把数据已文件的形式输入输出。 任意浏览信息。 数据描述 以所示的文本数据位初始数据进行简单操作,也可另行添加。 功能需求 实现以上功能需求。 性能需求 能够进行简单的数据处理。 具有对新信息处理打印打能力。 运行需求 C语言课程设计通讯录管理系统全文共44页,当前为第6页。输入个人信息时以例如按照"编号、姓名、年龄、电话号码 、通讯地址 、 电子邮箱"的顺序输入。 C语言课程设计通讯录管理系统全文共44页,当前为第6页。 输入时编号年龄、电话号码、通讯地址、电子邮箱以数字格式输入,输入姓名以文字输入。 以(Y/N)形式判断时,仅限N或者n为否,其他字符真。 进入排序功能后,要想见排序信息,到主菜单下见浏览信息功能。 任务计划 1.样例输入和输出 2.本通讯录管理程序,可以对数据进行输入输出,集排序,修改,打印,删除等功能。 下面以上述数据描述的数据为测试数据进行简单输入输出。 ——1.未排序前的信息 4).删除界面: 删除后,通讯录里的显示记录: 5).查询界面: 以姓名查询方式为例: 6).修改界面: 修改后,通讯录里的显示记录: 7).保存界面: C语言课程设计通讯录

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序媛夏天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值