将 appjson 中的 "style": "v2" 去除,小程序的新版基础组件强行加上了许多样式,难以覆盖,不关闭将造成部分组件样式混乱。
开发者工具创建的项目,miniprogramRoot 默认为 miniprogram,packagejson 在其外部,npm 构建无法正常工作。需要手动在 projectconfigjson 内添加如下配置,使开发者工具可以正确索引到 npm 依赖的位置。
打开微信开发者工具,点击 工具 -> 构建 npm ,并勾选 使用 npm 模块 选项,构建完成后,
到 全局配置 appjson 中注册引入组件,详见 快速上手 。
支持default、primary、info、warning、danger五种类型,默认为default。 格式:
设置hairline属性可以开启 05px 边框,基于伪类实现。
通过disabled属性来禁用按钮,此时按钮的bind:click事件不会触发。
通过loading属性来设置加载按钮 loading-type="spinner" loading-text="加载中"
通过icon属性设置按钮图标,支持 Icon 组件里的所有图标,也可以传入图标 URL。
label 输入框左侧文本
type 可设置为任意原生类型, 如 number idcard textarea digit
readonly 是否只读
custom-style 自定义样式
autosize 是否自适应内容高度,只对 textarea 有效,可传入对象,如 { maxHeight: 100, minHeight: 50 },单位为px
show :是否显示
onClose 点击其他位置,关闭d出层
position 可以设置为top、bottom、left、right。
Picker 选择器 需要配合d出层使用
<van-picker columns="{{ columns }}" bind:change="onChange" />
columns 对象数组,配置每一列显示的数据
onChange(e) 有默认参数 e
value-key 选项对象中,文字对应的 key 通常用于对象数组
show-toolbar 是否显示顶部栏
defaultIndex 初始选中项的索引,默认为 0 不是双向绑定 需要自己改变defaultIndex 的值 需要渲染两次
这里遇到的问题,是动态textarea列表,底部提交按钮position:fiexd悬浮。在滑动页面,textarea文本框中的文字会穿透到提交按钮上方,显示出来。这个问题困扰我好久,试了很多方法不管用,今天终于解决了,赶快记下来。
下面是提交按钮的wxss样式:
下面是提交按钮的wxml样式:
开始在textarea文本框上下功夫,想利用d出层类似的方案来解决这个穿透问题,但是最终宣告失败。
网上查,z-index分别在子层级,和父层级上设置这个属性,哪个值大,哪个层级就在最上面。
于是我在textarea上,设置z-index:0,这样,在模拟器上运行就没问题了,但是iOS真机就无效了。z-index会失去作用。textarea输入的内容还是会浸透在遮盖在textarea上的布局。后来查阅官方文档,发现用cover-view可以解决。
原生组件说明官方文档
于是,我把底部提交按钮的view控件,换成了cover-view
运行结果,还是不行,又将cover-view动态样式里加上z-index:999,问题才解决。
红框就是备注textarea中的内容,当d窗d出,内容就会穿透出来。这时用上面的z-index方面就失效了,也搞不懂是什么原因,于是通过改textarea显示方式来解决穿透问题。
思路:就是当d窗d出的时候,设置一个值为true,在textarea做wx:if判断那个值为true时,证明d窗d出,把textarea改成text显示即可。
这样,d窗穿透问题就解决了。
为了展示效果,提前加入多行文本模拟数据。如下图
给需要使用换行的 text 标签添加CSS自动换行属性
小程序中的 textarea 等标签虽然都是显示文本的双闭合标签,但在使用方式上跟W3C标准下的 textarea 标签有所不同。延伸阅读: 微信小程序开发文档·textarea组件
js文件
1、打开开发者工具,在项目的pages文件夹下,新建mypage文件夹,并在文件夹内新建mypage,并在appjson中将mypage设为第一页面。
2、在mypagewxml中写代码如下。
3、保存代码,在模拟器中查看效果如下图。
4、在mypagewxss中添加代码如下:view{overflow-wrap: break-word;}。
5、保存代码,就实现了自动换行,注意view默认的display为block。
6、mypagewxss不用改,再把内容改为中文测试一下,修改mypagewxml。
7、保存代码,查看模拟器如下图,中文也实现了自动换行。
最近写微信小程序做了一个评论的模态框组件,发现页面textarea 用catchtouchmove="true" 禁止滚动安卓机可以,但是苹果的不行,最后定位在textarea 这个标签能滚动的问题
解决办法:
添加 fixed="true" 就不会滚动了
本系列主要对小程序常用的组件做一个总结,方便自己及其它小程序开发者作为字典查阅和检索。
小程序组件有一些公共属性,在每个组件中代表的意义和数据类型都是一样的。
容器组件:内部能嵌套任何标签。常用的视图容器有: view , scroll-view , swiper
<view/> 是一个块级容器组件,任何一种复杂的布局都可以嵌套在 <view/> 组件内,并在 wxss 中设置相关样式。
<view/> 除了上述组件共有的属性外,还包含一组关于点击行为的属性。
在布局中,需要容器具有可滑动的功能,且能监听滚动、触顶、触底等事件,就需要 <scroll-view/> 组件, <scroll-view/> 在 <view/> 组件上添加滚动相关的属性,通过这些属性,可以响应滚动相关事件。
注意:
<textarea/> , <video/> , <map/> , <canvas/> 不能嵌套在 <scroll-view/> 中使用
利用 swiper 组件,可以实现轮播图,滑动页面,预览等,一个完整的滑块视图软件由 <swiper/> 和 <swiper-item/> 两个标签组成,不能单独使用。一个 <swiper/> 只能嵌套一个或多个 <swiper-item/> 标签,放置其它的标签会被删除,其中, <swiper-item/> 中能放置任何标签,高度默认为 100% ,另外没有任何其它特殊属性。
<swiper/> 的属性如下:
1、这个你要去调试一下看看是不是出现问题啦等等
2、应该是那个语法写错,或者其他的了
3、开发大佬调试一下后台代码就好了
4、若有电脑的问题推荐你安装驱动人生这个软件
以上就是关于微信小程序使用Vant全部的内容,包括:微信小程序使用Vant、微信小程序input、textarea层级穿透问题、解决微信小程序文字不换行等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)