用Uniapp开发鸿蒙项目 六

一、写在前面

接着之前的学习,今天要给项目拓展两个实用功能:给列表加上点击跳转到详情页的交互,以及实现简单表单。在实际 App 开发里,列表点击查看详情、用户填写信息提交表单这些场景太常见啦,把它们加到咱们的学习项目中,能让项目更贴近真实应用。继续基于现有的 demo1 项目折腾,记录学习过程。

二、给列表添加点击跳转详情页功能

(一)需求与准备

在 user 页面的列表里,点击某一项,跳转到对应的详情页,展示该条数据的详细内容。首先得新建一个详情页,用来承载具体信息。

(二)新建详情页

在 HBuilderX 中,右键点击 ​​pages​​ 目录,选择新建页面,命名为 ​​detail​​​ ,选择空页面模板,创建好后,​​pages.json​​ 会自动添加该页面的路由配置。

(三)修改列表代码实现跳转

通过测试,发现uni-ui目前并不支持鸿蒙:

所以经过看官方文档,发现可以用以下方式实现列表功能,并实现带着数据进行跳转的功能:

<template>
  <view class="user-container">
    <!-- List 列表 -->
	<div>
		<div class="item" v-for="item  in  listData" :key="item.id">
			<text class="td">{{item.title}}</text>
			<text class="td">{{item.desc}}</text>
			<button @click="goToDetail(item)" class="td">点击跳转</button>
           <navigator :url="'/pages/detail/detail?item='+ JSON.stringify(item)" hover-class="navigator-hover" class="td">
				  <button type="default">跳转</button>
			</navigator>
		
		</div>
			
	</div>
  </view>
</template>

<script>
export default {
  data() {
    return {
      listData: [
        { title: "文章 1", desc: "这是一篇超有趣的文章" },
        { title: "文章 2", desc: "鸿蒙开发小技巧" },
        { title: "文章 3", desc: "Uniapp 实战总结" }
      ]
    };
  },
  methods: {
    goBack() {
      uni.navigateBack();
    },
	
    goToDetail(item) {
		console.log("跳转")
      uni.navigateTo({
        url: '/pages/detail/detail?item=' + JSON.stringify(item)
      });
    }
  }
};
</script>

<style lang="scss">
	.item{
		display: flex;
		flex-direction: row;
		.td{
			flex: 1;
		}
	}
</style>

(四)详情页接收并展示数据

打开 ​​pages/detail/detail.uvue​​,编写代码:

<template>
  <view class="detail-container">
    <text class="title">{{ item.title }}</text>
    <text class="desc">{{ item.desc }}</text>
  </view>
</template>

<script>
export default {
  data() {
    return {
      item: {}
    };
  },
  onLoad(options) {
    const itemStr = options.item;
    this.item = JSON.parse(itemStr);
  }
};
</script>

<style>
.detail-container {
  padding: 20rpx;
}
.title {
  font-size: 36rpx;
  font-weight: bold;
  margin-bottom: 10rpx;
}
.desc {
  font-size: 28rpx;
  color: #666;
}
</style>

在 ​​onLoad​​​ 生命周期里,接收传递过来的参数,再用 ​​JSON.parse​​ 转成对象,然后在页面上展示标题和描述。这样点击列表项就能跳转到详情页查看具体内容啦。

页面效果如下:

三、总结

目前给项目添加了一个重要功能,列表点击跳转到详情页,实现了数据传递和接收展示。后续打算给制作表单或者给详情页添加更多交互,继续丰富项目。学习就是这样一步步积累,把每个小功能吃透,慢慢就能开发出更复杂的应用啦,继续加油~ 

##Uniapp##三方框架##商务##

全部评论

相关推荐

06-16 00:55
门头沟学院 Java
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务