美文网首页
2021-11-18、使用checkbox组件和radio组件

2021-11-18、使用checkbox组件和radio组件

作者: 疋瓞 | 来源:发表于2021-11-19 10:40 被阅读0次

模板:

1、案例描述

2、实现过程

2.1、代码展示

  • wxml
<!--pages/kj/demo111-template/index.wxml-->
<view class="box">
  <view class="title">修改字体样式和大小</view>
  <view class="concern">
    <text class="concern" style="font-size: {{font_si}};font-weight: {{font_w}}; font-style: {{font_st}}; text-decoration: {{text_d}};">修改字体展示</text>
    <checkbox-group class="concern" bindchange="checkbox_change">
      <checkbox value="bold">加粗</checkbox>
      <checkbox value="tilt">倾斜</checkbox>
      <checkbox value="underline">下划线</checkbox>
    </checkbox-group>
    <radio-group class="concern" bindchange="radio_change">
      <radio value="15px" checked="true">15px</radio>
      <radio value="25px">25px</radio>
      <radio value="35px">35px</radio>
    </radio-group>
  </view>
</view>
  • wxss
/* pages/kj/demo111-template/index.wxss */
.concern{
    margin-top: 10px;
    margin-bottom: 10px;
}

  • js
// pages/kj/demo111-template/index.js
var list = [];
var font_si = '15px';
var font_w = '';
var font_st = '';
var text_d = '';
Page({
  data: {
    font_si : font_si,
    font_w : font_w,
    font_st : font_st,
    text_d : text_d
  },
  checkbox_change:function(e){
    list = e.detail.value;
    for(var i = 0;i < list.length;i++){
      if(list[i] == 'bold'){
        font_w = 'bold';
      }
      if(list[i] == 'tilt'){
        font_st = 'italic';
      }
      if(list[i] == 'underline'){
        text_d = 'underline';
      }
    }
    this.setData({
      font_w : font_w,
      font_st : font_st,
      text_d : text_d
    })
    console.log(list)
  },
  radio_change:function(e){
    font_si = e.detail.value;
    this.setData({
      font_si : font_si
    })
  }
})

2.2、结果展示

结果展示.jpg

3、知识汇总

3.1、本节知识

知识要点.jpg
checkbox组件.jpg
checkbox组件属性.jpg
radio组件.jpg
radio组件属性.jpg

3.2、补充知识

知识总结.jpg
wx.showToast的参数属性.jpg

4、踩坑说明

  • 函数内部报错:TypeError: this.setDate is not a function
//报错代码
checkbox_change:function(e){
    list = e.detail.value;
    for(var i = 0;i < list.length;i++){
      if(list[i] == 'bold'){
        font_w = 'bold';
      }
      if(list[i] == 'tilt'){
        font_st = 'italic';
      }
      if(list[i] == 'underline'){
        text_d = 'underline';
      }
    }
    this.setDate({
      font_w : font_w,
      font_st : font_st,
      text_d : text_d
    })
    console.log(list)
  }
//修改后的代码
checkbox_change:function(e){
    list = e.detail.value;
    for(var i = 0;i < list.length;i++){
      if(list[i] == 'bold'){
        font_w = 'bold';
      }
      if(list[i] == 'tilt'){
        font_st = 'italic';
      }
      if(list[i] == 'underline'){
        text_d = 'underline';
      }
    }
    this.setData({
      font_w : font_w,
      font_st : font_st,
      text_d : text_d
    })
    console.log(list)
  }
//代码出错的原因,就是Data被输出成Date。
  • 关于checkbox和redio的一些说明:
    1、checkbox是多选的,和checkbox-group组合使用。
    2、radio是单选的,和radio-group组合使用。
    3、bindchange这个函数可以在checkbox-group和radio-group中使用。checkbox-group中的bindchange每次传递给js中绑定函数的是一个列表。radio-group中的bindchange每次传递给js中绑定函数的是一个值。
    4、不论是checkbox还是radio,都必须声明一个value,在选框被勾选时,这个value传递给js中绑定函数,js中的绑定函数,通过“返回值.detail.value”在函数中调用返回值。

相关文章

网友评论

      本文标题:2021-11-18、使用checkbox组件和radio组件

      本文链接:https://www.haomeiwen.com/subject/ynxrtrtx.html