微信小程序--几个常用标签

这篇具有很好参考价值的文章主要介绍了微信小程序--几个常用标签。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. view 这个标签相当于div(它的特点就是在没有其他样式影响的情况下,宽度100%);
  2. text 这个标签相当于span(它的特点就是在没有其他样式影响的情况下,不会独占一行,宽和高由内容撑开,这个时候你设置宽高是没有用的);
  3. image 这个标签比较重要,图片组件。src里面可以放网络地址和本地图片地址。
  4. button 这个是按钮组件。
  5. input 这个是输入框组件。
  6. navigator 这个是导航组件。

view组件

view官方文档叫它组件,但是我喜欢叫它标签。

他的特点是在没有像弹性盒模型,浮动这样布局影响下,它很很霸道的在页面中独占一行。

官方文档说它有下面这几个属性,看你们喜欢着用吧(我表示没有到一个)

  1. hover-class : 指定按下去的样式(那这里就是填class名称呗)
  2. hover-stop-propagation :是否阻止本节点的祖先节点出现点击态
  3. hover-start-time : 点击多久出现点击态(单位为毫秒)
  4. hover-stay-time : 取消点击以后点击态保存时间(单位为毫秒)

其实这个标签没什么好讲的,主要就是这几个属性稍微有点冷门了。没细心看文档表示不知道有这几个属性。

在我们的开发中,经常会要求我们加各种交互效果,一般的就是那种点击颜色要有点变化,让用户操作起来不那么生硬,感觉柔滑一点。这虽然是产品应该考虑的,但是想要成为一名优秀的前端程序员,我们也应该在开发的过程中,考虑当用户操作,这样你做出来的产品才会更有感情(其实就是不想写完以后,被产品经理各种改)

来看个小demo,我们来初步了解这个属性(下面是html和css)
 

<view>
  <!-- 阻断与非阻断点击态对比 -->
  <view hover-class='bg_ccc' class='red p_40' data-id="red" bindtap='bindView'>
    <view hover-class='bg_ccc' class='green p_40' data-id="green" bindtap='bindView'>
      未阻断点击态
      <view hover-class='bg_ccc' hover-stop-propagation="{{true}}" class='yellow p_40' data-id="yellow" bindtap='bindView'>阻断点击态</view>
    </view>
  </view>
  <!-- 试着设置下按住多久才显示点击效果 默认为 50 -->
  <view class='red mt40 p_40' hover-class='bg_ccc' hover-start-time='1000'>
    按住1000毫秒才触发点击态
  </view>
  <!-- 试着设置松开延迟多久消失 默认为 400 -->
  <view class='red mt40 p_40' hover-class='bg_ccc' hover-stay-time='1000'>
    松开后1000毫秒点击态消失
  </view>
</view>

.red {
  background-color: red;
}
.green {
  background-color: green;
}
.yellow {
  background-color: yellow;
}
.bg_ccc {
  background-color: #ccc;
}
.p_40 {
  padding: 40rpx;
}
.mt40 {
  margin-top: 40rpx;
}

text组件

这个组件比较随和,不独占一行;但是也和固执,就是你设置宽高就是不理你,按自己的来。这个时候你如果想要强行改变它,那你可以用display改变他为块元素或者行内块元素以后,就可以修改它的宽高了。

官方文档里面说它有下面几个属性:

  1. selectable : 设置文本是否可选
  2. space : 显示连续空格(ensp – 中文空格一半大小 emsp – 中文空格大小 nbsp – 根据字体)
  3. decode : 是否解码 (可以解析:   < > & '     )
<view class='mt40 p_40'>
  <!-- 文本可选和不可选 -->
  <text class='mr_40'>文本不可选</text>
  <text class='' selectable='{{true}}'>文本可选(长按可以选择)</text>
</view>
<view class='mt40'>
  <!-- 文本显示连续空格 -->
  <view>
    <text class='mr_40 fz_25' space="ensp">啦啦 啦啦 中文空格一半的大小</text>
  </view>
  <view>
    <text class='mr_40 fz_25' space="emsp">啦啦 啦啦 中文空格大小</text>
  </view>
  <view>
    <text class='mr_40 fz_25' space="nbsp">啦啦 啦啦 跟随字体</text>
  </view>
</view>
<view class='mt40'>
  <!-- 解码 -->
  <view>
    <text>啦啦 &nbsp; &lt; &gt; &amp; &apos; &ensp; &emsp; 啦啦</text>
  </view>
  <view>
    <text decode="{{true}}">啦啦 &nbsp; &lt; &gt; &amp; &apos; &ensp; &emsp; 啦啦</text>
  </view>
</view>

.mr_40 {
  margin-right: 40rpx;
}
.fz_25 {
  font-size: 50rpx;
}

image标签

 这个标签是图片标签,我们在页面放图片的用到的标签,可以是远程图片,本地图片。

言归正传,我们看看官方给我的几个属性:

  1. src : 这个属性就没什么可说的了,放图片地址
  2. mode : 这个属性微信给得很可以,可以设置图片裁剪,缩放的模式;
  3. lazy-load : 是否懒加载(只能是page和scroll-view下的image才有效);
  4. binderror : 发生错误事件。
  5. bindload : 图片载入完毕事件(可以返回图片的宽高)


 

<view>
  <!-- 图片默认是 320px * 240px -->
  <image class='b_333' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg'></image>
   <!-- mode = aspectFit  保持图片的比例,使长边能显示出来 -->
  <image class='b_333' mode='aspectFit' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg'></image>
   <!-- mode = aspectFill  保持图片的比例,使短边能显示出来,多余的截取 -->
  <image class='b_333' mode='aspectFill' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg'></image>
   <!-- mode = widthFix  保持图片的比例,保持宽度,高度自适应 -->
  <image class='b_333' mode='widthFix' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg'></image>


  <!-- 图片懒加载 -->
  <image class='b_333' lazy-load='{{true}}' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg'></image>

  <!-- binderror事件 -->
  <image class='b_333' binderror='imageErr' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jp'></image>

  <!-- bindload事件是图片加载完成,需要开启图片懒加载 -->
  <image class='b_333' lazy-load='{{true}}' bindload='imageLoad' src='http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg'></image>
</view>

/* 图片标签样式 */
.b_333 {
  margin-top: 20rpx;
  border: 1rpx solid #333;
}

  imageErr: function(e) { //  图片加载错误
    console.log("图片加载错误")
    console.log(e);
  },
  imageLoad: function(e) { //  图片加载完成
    console.log("图片加载完成")
    console.log(e);
  }

button组件

小程序的button按钮也包含像view那几个点击态属性,但是微信默认有给button按钮默认的点击态,如果觉得不合适我们的项目场景,那么可以像view一样更改

button按钮属性有点多,就直接在代码里面注释了,我们要热爱看代码,那就看看代码吧。

<!-- button按钮 -->
<view>
  <!-- size属性两个值 default,mini。 默认:default   -->
  <button size='default'>size =default </button>
  <button size='mini'>size =mini </button>

  <!-- type属性设置样式类型。 primary- 绿色; default- 白色; warn- 红色 -->
  <button type='primary'>绿色</button>
  <button type='default'>白色</button>
  <button type='warn'>红色</button>

  <!-- plain属性设置是否透明 -->
  <button plain='{{false}}' type='warn'>不透明</button>
  <button plain='{{true}}' type='warn'>透明(没有背景色)</button>

  <!-- disabled属性设置是否禁用 -->
  <button disabled='{{false}}' bindtap='showBtn'>不禁用(有弹框)</button>
  <button disabled='{{true}}' bindtap='showBtn'>禁用(没有弹框)</button>

  <!-- loading名称前是否带图标 -->
  <button loading='{{false}}'>名称前不带loading图标</button>
  <button loading='{{true}}'>名称前带loading图标</button>

  <!-- form-type只用这个按钮放在from里面才能触发 ,分别触发 submit/reset事件 -->
  <form bindreset="resetPut">
    <input value='啦啦啦'></input>
    <button form-type='reset'>重置表单</button>
  </form>
  <form bindsubmit="submitPut">
    <input value='啦啦啦'></input>
    <button form-type='submit'>提交表单</button>
  </form>

  <!-- open-type开发功能 -->
  <button open-type='contact'>打开客服</button>
  <!-- 分享要在页面设置 onShareAppMessage方法 
        session-from : 会话源
        send-message-title : 会话显示的标题
        send-message-path :  会话内消息卡片点击跳转小程序路径
        send-message-img :  会话内消息卡片图片
        show-message-card : 是否显示会话卡片
        bindcontact :  从客服回话点击卡片返回小程序的回调
  -->
  <button open-type='share' session-from="1" send-message-title="测试分享" send-message-path="pages/index/index" send-message-img="http://img.zcool.cn/community/012b245544ebd60000019ae93e4e4b.jpg@1280w_1l_2o_100sh.jpg" show-message-card="{{true}}" bindcontact="openContart">触发分享</button>
  <!-- 得到用户信息,里面 bindgetuserinfo事件回调得到用户信息 lang 设置中英文 zh_CN 简体中文  zh_TW 繁体中文  en 英文 -->
  <button open-type='getUserInfo' bindgetuserinfo='getUserInfo' lang='zh_CN'>得到用户信息</button>
  <!-- 获取用户手机号,这里需要小程序开放功能认证(300百块钱认证)才有这功能(这个比较私密的信息还是小心点用,小心小程序被封) -->
  <button open-type='getPhoneNumber' bindgetphonenumber="getPhone">获取用户手机号</button>
  <!-- 打开app功能貌似有很多限制,需要从app打开小程序或者app分享卡片进入的小程序才能进入这个app(其实也相当于返回那个app,这个我没测试通过,我这里不具备这样的场景) 
  app-parameter : 想app传递的参数
  binderror: 发生错误
  -->
  <button open-type='launchApp' app-parameter="啦啦啦" binderror="openAppErr">打开app</button>
  <!-- 打开授权写,可以让用户授权 
    bindopensetting :  打开授权页回调
  -->
  <button open-type='openSetting' bindopensetting="openSeetting">打开授权页</button>
  <!-- 打开意见反馈,用户反馈内容可以才公众平台查看 -->
  <button open-type='feedback'>打开意见反馈</button>
</view>

/* button按钮 */
button {
  margin-top: 40rpx;
}

  showBtn: function() { //  判断是否禁用
    wx.showToast({
      title: '这个按钮弹框表示未禁用',
      icon: "none"
    })
  },
  resetPut: function(e) { //  重置表单
    console.log("重置表单")
  },
  submitPut: function(e) { //  表单完成
    console.log("点击表单完成");
  },
  getUserInfo:function(e) { //  得到用户信息
    console.log("点击了获取用户信息");
    console.log(e);
  },
  openContart: function(e) { //  客服消息点击卡片
    console.log("点击打开客服");
    console.log(e);
  },
  getPhone: function(e) { //  获取手机号回调
    console.log("获取手机号");
    console.log(e);
  },
  openAppErr: function(e) { //  打开app错误
    console.log("打开app错误");
    console.log(e);
  },
  openSeetting: function(e) { //  打开授权页回调
    console.log("打开授权页回调");
    console.log(e);
  }

input组件

输入框这个组件的属性比较多,我们也就直接在示例中注释解释

<!-- input组件 -->
<view>
    <!-- value属性 -->
    <input value='啦啦啦啦'></input>
    <!-- type属性,设置输入方式 
      text : 文本键盘输入
      number : 数字键盘输入
      idcard : 身份证输入(数字键盘,多了个X输入)
      digit : 带小数点键盘输入
    -->
    <input type='text' value='文本键盘'></input>
    <input type='number' value='数字键盘'></input>
    <input type='idcard' value='身份证键盘'></input>
    <input type='digit' value='带小数点键盘'></input>
    <!-- password属性,是否是密码输入-->
    <input password="{{true}}" value="密码输入"></input>
    <!-- placeholder属性,默认显示文本 -->
    <input placeholder="这是默认显示的文本"></input>
    <input placeholder="这是默认显示的文本" value='有值得时候,不显示默认文本'></input>

    <!-- placeholder-style属性设置默认显示文本的样式
          这个属性可能我们会经常用到,在输入框默认情况下
          显示的样式和真正输入了以后是不一样的
     -->
     <input placeholder='这是默认显示文本' placeholder-style='color:red'></input>
     <!-- placeholder-class也是设置默认显示文本的样式,只是使用class设置
      默认值为 input-placeholder,就是说你只要在css里面加上这个样式,设置与不设置都一样
      但是你也可以改变这个默认值
      -->
     <input placeholder='这里是默认显示文本' placeholder-class='input-placeholder'></input>
     <input placeholder='这里是默认显示文本'></input>
     <input placeholder='这里是默认显示文本' placeholder-class='greenput'></input>
     <!-- disabled设置input框是否禁用,这里就是在默写时候,你要输入了上一个框,这个框才能输入的时候使用
    只需要动态改变true/false,就可以实现效果
     -->
     <input value="输入框禁用" disabled='{{true}}'></input>
     <input value="输入框没有禁用" disabled='{{false}}'></input>
     <!-- 设置输入框的输入的字符数量最大值 设置为-1就是不显示长度-->
     <input value='默认输入的最大值为140'></input>
     <input value='默认输入的最大值为10' maxlength='15'></input>
     <input value='设置为-1就是不限制输入长度' maxlength='-1'></input>
     <!-- cursor-spacing指定光标与键盘的距离单位px -->
     <input value='默认是为0' cursor-spacing='0'></input>
     <input value='指定光标与键盘距离为10' cursor-spacing='10'></input>
     <input value='指定光标与键盘距离为50' cursor-spacing='50'></input>
     <!-- focus是否获取焦点
          当有些场合,用户进入页面,自动聚焦到input框。可以通过这个属性
      -->
      <input value='自动聚焦' focus='{{true}}' selection-start="1" selection-end="3"></input>
      <!-- confirm-type设置键盘右下角显示的文字,仅仅当type=text是有效
      done : 完成(默认值) 
      send : 发送 
      search : 搜索 
      next : 下一个 
      go : 前往 
      -->
      <input type='text' confirm-type='done' value='设置右下角文字为“完成”'></input>
      <input type='text' confirm-type='send' value='设置右下角文字为“发送”'></input>
      <input type='text' confirm-type='search' value='设置右下角文字为“搜索”'></input>
      <input type='text' confirm-type='next' value='设置右下角文字为“下一个”'></input>
      <input type='text' confirm-type='go' value='设置右下角文字为“前往”'></input>
      <!-- confirm-hold点击右下角按钮是,是否保持键盘不收起 -->
      <input confirm-hold='{{true}}' value='点击右下角按钮不收起键盘'></input>
      <input confirm-hold='{{false}}' value='点击右下角按钮收起键盘'></input>
      <!-- cursor属性指定光标位置 
      0表示开头, -1表示末尾,这个一般与自动聚焦一起使用
      点击的话会改变这个结果(这个测试的时候只能一个个来使用,把前面的自动聚焦注释掉)
      -->
      <input cursor='0' focus='{{true}}' value='光标位置为0'></input>
      <input cursor='5' focus='{{true}}' value='光标位置为5'></input>
      <input cursor='-1' focus='{{true}}' value='光标位置为-1'></input>
      <!-- selection-start和selection-end属性配合使用,即自动聚焦是选中范围内文本 
      (这个测试的时候只能一个个来使用,把前面的自动聚焦注释掉)
      -->
      <input value='自动聚焦' focus='{{true}}' selection-start="1" selection-end="3"></input>
      <!-- adjust-position属性设置键盘弹起页面是否上推 -->
      <input value='聚焦页面不上推'></input>
      <input value='聚焦页面上推' adjust-position="{{true}}"></input>
      <!-- bindinput事件,输入框输入时触发 -->
      <input bindinput='changeInput' value='输入框输入事件'></input>
      <!-- bindfocus事件,输入框聚焦事件 -->
      <input bindfocus='getFocus' value='输入宽聚焦时触发'></input>
      <!-- bindblur事件,输入框失去焦点时触发 -->
      <input bindblur='loseFocus' value='输入框失去焦点时触发'></input>
      <!-- bindconfirm事件,输入框点击完成时触发 -->
      <input bindconfirm='wancheng' value='输入框点击完成按钮触发'></input>

</view>

/* input框样式 */
.input-placeholder {
  color: blue;
}
.greenput {
  color: green;
}

 // input框
  changeInput: function (e) { //  输入事件
    console.log(e);
  },
  getFocus: function (e) { //  输入框聚焦事件
    console.log(e);
  },
  loseFocus: function (e) { //  输入框失焦事件
    console.log(e);
  },
  wancheng: function (e) { //  点击完成按钮事件
    console.log(e);
  }

navigator组件

导航组件,可以实现页面切换(路由),跳转到其他小程序等功能。

这个组件在这篇文章里面不会讲解得太详细,只讲路由的跳转,其他功能后面会有详细的讲解;我们还是老规矩,就在代码里面讲吧。文章来源地址https://www.toymoban.com/news/detail-719508.html

<!-- navigator组件 -->
<view>
  <!-- target属性
      self : 当前小程序跳转(默认值)
      miniProgram : 要跳转其他小程序时设置

      hover-class,hover-stop-propagation,hover-start-time,hover-stay-time这几个属性为点击态属性,
      这个组件有默认的值,可以根据项目需要修改,和前面讲得是一样的。
   -->
   <!-- 
   当target=self时,也就是默认值(不设置的情况) 

    url : 当前小程序跳转的页面地址(这个路径我建议是写成绝对路径)
    open-type :  跳转方式有下面的值
        open-type=navigate  : 保留当前页面,跳转到页面内页面(除了tabbar页面,即配置的菜单页面)
        open-type=redirect  : 关闭当前页面,跳转到页面内页面(除了tabbar页面,即配置的菜单页面)
        open-type=switchTab  : 关闭所有非tabar页面,跳转到tabbar页面
        open-type=reLaunch  : 关闭所有页面,跳转到tabbar页面
        open-type=navigateBack  : 页面回退(和delta属性一起使用,设置返回层数)
    提示:这里只是简单介绍一下,tabbar页面配置还没讲过,先了解这个东西吧,我一般都不用这个组件,习惯用小程序api
   -->
  <navigator open-type='navigate' url='/pages/index/index'>跳转</navigator>
  <navigator open-type='redirect' url='/pages/index/index'>跳转</navigator>
  <navigator open-type='switchTab' url='/pages/index/index'>跳转</navigator>
  <navigator open-type='reLaunch' url='/pages/index/index'>跳转</navigator>
  <navigator open-type='navigateBack' delta="1">跳转</navigator>
</view>

到了这里,关于微信小程序--几个常用标签的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序如何循环控制一行显示几个wx:for

    正如上图所显示的一样,我们改如何控制一行显示几个图形呢? 首先第一种方法,数量少的可以自己一行一行的写,但是当数据很多的时候呢? 这时候就需要我们区使用循环进行代码的编写。废话不多数,直接写代码。 .demo-item{ width: 40%; } .demo-item .screen-data{ padding: 10rpx; te

    2024年02月09日
    浏览(52)
  • 微信小程序image标签的使用

    在小程序中,我们可以使用 image 标签来添加图片。 image 标签有以下属性: src :图片路径,可以是本地路径或网络路径 mode :图片裁剪、缩放的模式,默认为\\\"scaleToFill\\\"(缩放以填充整个容器) 添加指向本地图片的 src 属性后的显示效果: image 标签默认会根据图片的宽高自适

    2024年02月03日
    浏览(61)
  • 微信小程序中的基础标签

    小程序标签是指微信小程序页面中的不同组件,用于展示和处理数据。 小程序标签由结构标签、样式标签和逻辑标签三部分组成,分别对应页面的结构、样式和逻辑。 小程序标签具有良好的兼容性,可以在不同品牌、不同型号的手机上正常运行。 1.view标签:用于展示文本、

    2024年01月17日
    浏览(52)
  • 微信小程序的标签及常见样式

    view 类似div 块状元素 可设置 宽高! 横向滑动 标签组件: swiper和swiper-item(单个页面) 一般都是照片! 视屏和音频都可不行,上传代码包大小有限制! swiper组件常用属性: 竖向滑动 组件: scroll-view 滚动的视图容器 必须给个固定高度! text标签 类似HTML中span标签 是个行内标签! 该标签只

    2024年02月09日
    浏览(62)
  • 微信小程序的基础标签及使用(入门)

          我们以前在html中使用的很多标签在微信小程序中都无法使用例如div,h1-h6,span等等。  当然在小程序中会出现很多的标签提供开发者使用: view :为块元素相对于以前我们所使用的的div text :可以使当做span使用或者h1-h6          scroll-view: 可滚动视图区域加入属性可

    2024年02月11日
    浏览(43)
  • 微信小程序中识别html标签的方法

    在微信小程序中有一个组件rich-text可以识别文本节点或是元素节点 具体入下: 详情可以参考官方文档: https://developers.weixin.qq.com/miniprogram/dev/component/rich-text.html

    2024年02月09日
    浏览(46)
  • 微信小程序使用van组件Tabbar 标签栏

    (1)打开我们小程序的项目目录,然后打开文件所在的位置。 (2)cmd 窗口初始化 (3)通过 npm 安装vant/weapp (4)安装 miniprogram (5)修改 app.json app.json 中的 “style”: “v2” 去除 (6)修改 project.config.json 开发者工具创建的项目,miniprogramRoot 默认为 miniprogram,package.json 在

    2024年02月06日
    浏览(43)
  • 微信小程序简单输入框界面(实现选择标签功能)

    1、js代码: 2、wxml代码: 3、wxss代码: 布局简单,对于初学者可以用来看看,随便写的,如果出现运行异常,请使用真机预览呦~

    2024年03月12日
    浏览(84)
  • 【微信小程序】解决text标签文字不居中问题

    我在text标签上的view父标签中写了smbox样式,也就是说text标签会继承text-align这个属性 但是Python啊Django啊三个字以上的文字要不就是超出格子,要不就掉到下一行了。怎么看都不舒服。 在text标签中添加 margin:-150rpx 就能将以上的文字调整到中间 上面在text标签中写了text-align也试

    2024年02月11日
    浏览(68)
  • 微信小程序加载html标签(解析html标签、wxParse加载富文本html)

     博主介绍: 本人专注于Android/java/数据库/微信小程序技术领域的开发,以及有好几年的计算机毕业设计方面的实战开发经验和技术积累;尤其是在安卓(Android)的app的开发和微信小程序的开发,很是熟悉和了解;本人也是多年的Android开发人员;希望我发布的此篇文件可以帮

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包