Vant3——复选框点击其他后格外出现一个输入框

简介: 复选框点击其他后格外出现一个输入框

想要实现这样的效果:

c681d04413f04638ba0d0189c01ff784.png

15c1432801104464b3bbba7837be3824.png

方法如下:

因为复选框选出来的值为数组形式所以直接通过map进行循环遍历即可

<van-field :name="'checkbox_ZL_'+i" label="接受过的治疗">
  <template #input>
  <van-checkbox-group v-model="checkboxZL" direction="horizontal" @click="btnCheckbox">
    <van-checkbox name="骨科手术" shape="square">骨科手术</van-checkbox>
    <van-checkbox name="物理治疗" shape="square">物理治疗</van-checkbox>
    <van-checkbox name="手法治疗" shape="square">手法治疗</van-checkbox>
    <van-checkbox name="关节内注射治疗" shape="square">关节内注射治疗</van-checkbox>
    <van-checkbox name="其他" shape="square">其他</van-checkbox>
  </van-checkbox-group>
  </template>
</van-field>
<!-- 接受过的治疗(其他) -->
<div v-if="arrs == true">
 <van-field required label="其他" v-model="others" name="others" placeholder="请填写具体内容" />
</div>
const listData = reactive({
  checkboxZL:[],
  others:"",
  arrs:false
})
const btnCheckbox= () => {
  /* 把listData.checkboxZL数组定义出来 */
      let arr:any = listData.checkboxZL;
      console.log(arr);
      /* 防止默认没长度的时候会出错,默认就让他不出现 */
      if (arr.length == 0) {
        arrs.value = false;
      }
      /* 通过map遍历出arr的新数组 */
      arr.map((item: any) => {
        console.log(arr);
  /* 查找勾选的选项是否有存在其他?如果存在则让他显示出文本框,否则就隐藏 */
        if (arr.indexOf("其他") !== -1) {
          arrs.value = true;
        } else {
          arrs.value = false;
        }
      });
    };
    return{
    ...toRefs(listData),
    arrs,
    btnCheckbox,
    }

8ac96176ffc243a2b608d92078d1bc05.png

a16defcd0e59494f973adbd388d0aa3c.png

相关文章
layui 框架弹出一个界面弹框
layui 框架弹出一个界面弹框
100 0
|
JavaScript 前端开发
layui实现点击按钮全屏
layui实现点击按钮全屏
492 0
|
4月前
点击全选获取所有复选框
点击全选获取所有复选框
31 1
点击按钮,新增输入框,再点击按钮,删除输入框
点击按钮,新增输入框,再点击按钮,删除输入框
57 0
|
JavaScript 前端开发
JS实现分页功能(单选按钮、全选按钮、跳转页面)
JS实现分页功能(单选按钮、全选按钮、跳转页面)
113 0
|
JavaScript
jQuery点击按钮,生成input输入框
jQuery点击按钮,生成input输入框
64 0
|
JavaScript
vue点击取消再点击选中(单选)
vue点击取消再点击选中(单选)
|
算法 前端开发
下拉选择框
下拉选择框
107 1
|
JavaScript 前端开发
jquery如何在点击一个按钮时显示隐藏
jquery如何在点击一个按钮时显示隐藏
124 0

热门文章

最新文章