您现在的位置是:亿华云 > IT科技
鸿蒙提示框,对话框,路由跳转页面,跑马灯,幻灯片及list组件的应用
亿华云2025-10-02 18:51:10【IT科技】7人已围观
简介想了解更多内容,请访问:和华为官方合作共建的鸿蒙技术社区https://harmonyos.51cto.com/#zz幻灯片控件:<image-animator></image-an
想了解更多内容,鸿蒙话框请访问:
和华为官方合作共建的提示跳转鸿蒙技术社区
https://harmonyos.51cto.com/#zz
幻灯片控件:<image-animator></image-animator>
跑马灯控件: <marquee></marquee>
弹出提示框:prompt.showToast()
弹出对话框:prompt.showDialog()
在制作提示框的时候,首先制作一个菜单栏选项,弹出菜单栏仅有当调试点击后才触发显示出来 不占用原有视图空间.弹出菜单栏的位置默认以(0,0)为基准点,为了更好的用户体验,也可以自行设置弹出位置(如下图)

介绍一种跳转页面新方法:路由跳转页面(具体见代码): import router from @system.router; //通过路由跳转页面
router.push({ uri: pages/jumpone/jumpone}) //路由的方法
主页面的js业务逻辑层:
import prompt from @system.prompt; import router from @system.router; //路由 通过路由跳转页面 export default { data: { title: World, imgdatas:[{ "src":"http://ttjib3.natappfree.cc/images/12.jpeg" }, { "src":"http://ttjib3.natappfree.cc/images/13.jpg" }, { "src":"http://ttjib3.natappfree.cc/images/14.jpg" }, { "src":"http://ttjib3.natappfree.cc/images/15.jpg" }, { "src":"http://ttjib3.natappfree.cc/images/16.png" }] }, showmenu() { //弹出显示菜单 首先要获取这个组件用 this.$element //this.$element("menueone").show(); //弹出的具体位置 默认时以(0,0)为基准点 this.$element("menueone").show({ x:0, y:0 }); }, changemenu(e) { let name = e.value //这里的value就是hml中的云服务器提供商value //鸿蒙的提示框 prompt.showToast({ message:name }); if (name == "太和殿") { router.push({ //路由的方法 uri: pages/jumpone/jumpone }); } else if(name == "养心殿") { router.push({ //路由的方法 uri: pages/jumptwo/jumptwo }); } else if(name == "乾清宫") { router.push({ //路由的方法 uri: pages/jumpthree/jumpthree }); } } }主页面视图层:
<div class="container"> <div class="topview"> <!--幻灯片组件--> <image-animator class="image-animator" duration="5s" fixedsize="false" images="{ { imgdatas}}"> </image-animator> </div> <div class="contentview"> <button onclick="showmenu">菜单</button> </div> <menu id="menueone" onselected="changemenu"> <option value="太和殿">太和殿</option> <option value="养心殿">养心殿</option> <option value="乾清宫">乾清宫</option> </menu> </div>主页面css属性设置:
.container { width:100%; height: 1200px; display: flex; flex-direction: column; background-color: skyblue; } .topview{ width: 100%; height: 30%; border-bottom: 1px solid blue; } .image-animator{ width: 100%; height: 100%; } .contentview{ width: 100%; height: 10%; background-color: white; }跳转页面一的js业务逻辑层:
import prompt from @system.prompt; export default { data: { title: World }, changmes() { //1.弹出提示框 // prompt.showToast() //2.弹出对话框 prompt.showDialog({ title:"问题", message:"你今年是否有600岁?", buttons:[{ "text":"是","color":"#000000"},{ "text":"否","color":"#000000"}], //用successs追踪对话框 success:function(data){ if(data.index==0){ prompt.showToast({ message:"你点击了是按钮" }) } if(data.index==1){ prompt.showToast({ message:"你点击了否按钮" }) } } }) } }跳转页面一的视图层:
<div class="container"> <button onclick="changmes">太和殿</button> </div>跳转页面二的源码库视图层:
<div class="container"> <marquee> 最是一年春好处,绝胜烟柳满皇都 </marquee> </div>跳转页面三的js业务逻辑层:
import router from @system.router; export default { data: { title: World, listdatas:[{ "cname":"故宫典藏","cimg":"/common/gugong.png","lname":[{ "fname":"宫廷人物","icon":"/common/renwu.png"},{ "fname":"宫廷典制","icon":"/common/gugong.png"},{ "fname":"宫廷文创","icon":"/common/gongwenhua.png"},{ "fname":"宫廷建筑","icon":"/common/gu.png"}]}, { "cname":"故宫文创","cimg":"/common/gugong.png","lname":[]}, { "cname":"故宫建筑","cimg":"/common/gugong.png","lname":[]}, { "cname":"故宫历史","cimg":"/common/gugong.png","lname":[]} ] }, changemenu(e){ router.push({ uri:pages/gugongwenchuang/gugongwenchuang }) } }跳转页面三的视图层:
<div class="container"> <list class="listview"> <block for="{ { listdatas}}"> <list-item-group class="group"> <!--高度不需要给出 会自适应大小--> <list-item class="listitem"> <image class="img1" src="{ { $item.cimg}}"></image> <text class="txt1">{ { $item.cname}}</text> </list-item> <block for="{ { (cindx,cvalue) in $item.lname}}"> <list-item class="listitem1" onclick="changemenu"> <image class="img1" src="{ { cvalue.icon}}"></image> <text class="txt2">{ { cvalue.fname}}</text> </list-item> </block> </list-item-group> </block> </list> </div>跳转页面三的css属性设置:
.container { width: 100%; height: 1200px; display: flex; flex-direction: column; background-color: skyblue; } .listview{ width: 100%; height: 100%; } .group{ width: 100%; } .listitem{ width: 100%; height: 25%; display: flex; justify-content:center; align-items: center; } .img1{ width: 80px; height: 80px; } .txt1{ font-size: 45px; font-weight: bold; font-family: sans-serif; margin-left: 70px; } .txt2{ font-size: 35px; font-family: sans-serif; margin-left: 70px; } .listitem1{ width: 100%; height: 18%; display: flex; justify-content:center; align-items: center; }效果图如下,效果视频已上传专栏(HarmonyOS开发从0到1) https://harmonyos.51cto.com/column/35


©著作权归作者和HarmonyOS技术社区共同所有,如需转载,框对请注明出处,页面应用否则将追究法律责任。跑马
想了解更多内容,灯幻灯片请访问:
和华为官方合作共建的亿华云计算及l件鸿蒙技术社区
https://harmonyos.51cto.com/#zz
很赞哦!(86928)