微信小程序开发-地图map组件上使用input组件

微信小程序开发-地图map组件上使用input组件

标签: 微信小程序 uni-app


原生组件层级关系

微信小程序在最高层级

  • 在微信小程序中原生组件包括camera canvas input(仅在focus时表现为原生组件) live-player live-pusher map textarea video
  • 在微信小程序开发中原生组件的层级是最高的,所以页面中的其他组件无论设置 z-index 为多少,都无法盖在原生组件上。

    后插入的原生组件可以覆盖之前的原生组件。

  • 原生组件还无法在 picker-view 中使用。

    基础库 2.4.4 以下版本,原生组件不支持在 scroll-view、swiper、movable-view 中使用。

  • 同层渲染:同层渲染是为了解决原生组件的层级问题,在支持同层渲染后,原生组件与其它组件可以随意叠加,目前支持原生组件同层渲染有 video, map, live-player, live-pusher, canvas(2d) 组件已支持同层渲染。
  • 除开同层渲染外还可以使用 cover-viewcover-image 组件,可以覆盖在部分原生组件上面。

微信小程序在地图map上使用input等最高层级标签 (uni-app框架中开发) 原生微信小程序也大致相同

在微信小程序真机下,map中使用input无法在map上显示,所以可以通过在页面中嵌套一个input标签和一个cover-view文本进行隐藏显示,通过点击cover-view层级的自定义方法进行input的聚焦,输入完成后将输入的值赋值到 cover-view文本框中,隐藏input组件。

template中

<cover-view class=‘main_search‘ @tap=‘tapInput‘>
    <cover-view class=‘main_search_input‘ :hidden="inputFocus">{{inputInfo}}</cover-view>
    <input class=‘main_search_input‘ :hidden="!inputFocus" :value=‘inputModel‘ :focus=‘inputFocus‘ @blur=‘blurInput‘></input>
</cover-view>

script中

data() {
    return {
        inputFocus: false, // input 框的focus状态
        inputModel: ‘‘, // input 框的输入内容
        inputInfo: ‘请输入搜索地址‘, // cover-view 显示的 input 的输入内容,初始值充当placeholder作用
    };
},

// 将焦点给到 input(在真机上不能获取input焦点)
tapInput() {
this.inputFocus = true;
//初始占位清空
if(this.inputInfo==‘请输入搜索地址‘){
this.inputInfo = ‘‘;
}
},

// input 失去焦点后将 input 的输入内容给到cover-view
blurInput(e) {
console.log(e.detail.value);
this.inputInfo = e.detail.value || ‘请输入搜索地址‘;
this.inputFocus = false;
}

cover-view标签 Bug & Tip

参考地址:https://developers.weixin.qq.com/miniprogram/dev/component/cover-view.html

  • cover-view和cover-image的aria-role仅可设置为button,读屏模式下才可以点击,并朗读出“按钮”;为空时可以聚焦,但不可点击
  • 最外层 cover-view 支持 position: fixed
  • 微信小程序基础库 1.9.0 起支持插在 view 等标签下。在此之前只可嵌套在原生组件map、video、canvas、camera内,避免嵌套在其他组件内。
  • 微信小程序基础库 1.6.0 起支持css transition动画,transition-property只支持transform (translateX, translateY)与opacity。
  • 微信小程序基础库 1.6.0 起支持css opacity。
  • 事件模型遵循冒泡模型,但不会冒泡到原生组件。
  • 文本建议都套上cover-view标签,避免排版错误。
  • 只支持基本的定位、布局、文本样式。不支持设置单边的border、background-image、shadow、overflow: visible等。
  • 支持使用 z-index 控制层级
  • 默认设置的样式有:white-space: nowrap; line-height: 1.2; display: block;
  • 自定义组件嵌套 cover-view 时,自定义组件的 slot 及其父节点暂不支持通过 wx:if 控制显隐,否则会导致 cover-view 不显示

记录详情

  • 记录开始时间:2020-03-17 11:00
  • 记录结束时间:2020-03-17 11:32
  • 记录作者:墨里墨白
  • 记录次数:1
  • 更新时间:2020-03-17 11:32

原文地址:https://www.cnblogs.com/molimobai/p/12580288.html

时间: 2024-08-06 10:59:31

微信小程序开发-地图map组件上使用input组件的相关文章

微信小程序开发日记——高仿知乎日报(上)

本人对知乎日报是情有独钟,看我的博客和github就知道了,写了几个不同技术类型的知乎日报APP 要做微信小程序首先要对html,css,js有一定的基础,还有对微信小程序的API也要非常熟悉 我将该教程分为以下三篇 微信小程序开发日记--高仿知乎日报(上) 微信小程序开发日记--高仿知乎日报(中) 微信小程序开发日记--高仿知乎日报(下) 三篇分别讲不同的组件和功能块 这篇要讲 API分析 启动页 轮播图 日报列表 浮动按钮 侧滑菜单 API分析 以下是使用到的具体API,更加详细参数和返回结

微信小程序开发05-日历组件的实现

接上文:微信小程序开发04-打造自己的UI库 github地址:https://github.com/yexiaochai/wxdemo 我们这里继续实现我们的日历组件,这个日历组件稍微有点特殊,算是相对复杂的组件了,然后一般的日历组件又会有很多的变化,所以我们这里实现最基本的标签即可: 1 let View = require('behavior-view'); 2 const util = require('../utils/util.js'); 3 4 // const dateUtil

微信小程序开发—组件及API

微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支付等功能. 组件 官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/ 对于开发文档,个人建议先了解其整体框架,了解其提供了哪些组件,再联想到这些组件会用在哪些产品的哪些功能.对于接口也是一样,整体了解,而不需要细看. 熟悉了文档的结构,

微信小程序开发—快速掌握组件及API的方法---转载

微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支付等功能. 组件 官方文档:https://mp.weixin.qq.com/debug/wxadoc/dev/component/ 对于开发文档,个人建议先了解其整体框架,了解其提供了哪些组件,再联想到这些组件会用在哪些产品的哪些功能.对于接口也是一样,整体了解,而不需要细看. 熟悉了文档的结构,

我们的微信小程序开发

基于微信小程序的系统开发准备工作 腾讯推出微信小程序也有一段时间了,在各种行业里面也都掀起一阵阵的热潮,很多APP应用被简化为小程序的功能迅速推出,同时也根据小程序的特性推出各种独具匠心的应用,相对传统的APP来说,微信小程序确实能够大大降低开发成本和难度,但也意味着需要掌握整个微信小程序的各种接口功能.应用场景等相关技术点,本篇随笔先从大的方面来介绍微信小程序开发的一些知识,如架构设计.技术路线 .工具准备等方面做一些浅薄的介绍,希望大家也有所收益,有所借鉴,则善莫大焉. 1.小程序的统一架构

微信小程序开发入门教程

做任何程序开发要首先找到其官方文档,微信小程序目前还在邀请内测阶段,目前官方放出了部分开发文档,经过笔者一天的查看和尝试,感觉文档并不全面,但是通过这些文档已经能够看出其大概面貌了.闲话不多说,我们先来看看其有哪些官方文档. 微信公众平台开发者文档统一入口为:https://mp.weixin.qq.com/wiki,这里面大部分内容都是以前就有的,微信开发都是基于此份文档. 现在的变化是在这份文档的顶部加了一个“微信公众平台.小程序”的入口,这个入口才就是专门针对微信小程序开发的文档,如下图:

资讯 | 2018年1月15日微信公开课解读!微信小程序开发资源

引言:2018年1月15日 微信公开课PRO开课了,本次课时内容将涉及:小程序.智慧零售.企业微信.小游戏  (附学习参考资料) 为了快速理解「2018 微信公开课 PRO 版」上张小龙的一小时演讲内容,结合下午微信公开课课室A_B_C的课时安排,这里为大家提前整理了相应的小程序学习参考资料: 微信公开课pro_A课室(14:00-17:50) 主题:小程序产品能力.开发.应用及规则 一.如何开发一个优秀的微信小程序/小游戏 微信小程序官方工具  https://mp.weixin.qq.com

微信小程序开发踩坑记录

1.问题:如果页面个数多于五个,要怎么处理 wx.navigateTo(OBJECT)最多只可以打开五个页面,如果页面多于五个,还想要返回,应该怎么处理呢 答:wx.redirectTo() 2.问题:获取不到unionId 我的小程序让用户登录后,用户信息解密出来的json结构没有unionId,可能是什么原因?是我小程序的后台配置有问题吗? 答:需要到开发者平台绑定 3.问题:微信小程序,如何调试? 什么方法,用alert吗? 答:console.log 4.问题:安卓上wx.uploadF

微信小程序实现地图插件的调用方法

目前很多微信小程序都具备地图查看的功能,那么对于在微信小程序中如何实现地图插件的调用方法,可能很多初学小程序开发的技术人员还存在很多疑问,那么下面就来跟大家详细解答一下. 首先肯定是借助小程序自带的map组件 .wxml代码: <map id="myMap" style="width: 100%; height: 300px;" latitude="{{latitude}}" longitude="{{longitude}}&qu