vux获取PopupRadio子组件的值

在使用VUX的组件中,用到了PopupRadio组件,但是在文档中,并没有表明如何去获取select中的值,于是,我在这里使用了$refs与ref,直接上代码

<template>
    <div class="getOilCard">
      <ul>
        <li>
          <PopupRadio :options="opt" ref="liSon" class="liSon" title="请选择业务类型" @on-hide="hide"></PopupRadio>
        </li>
        <li>
        <!--支持key value 的写法-->
          <PopupRadio :options="opt1" v-model='opt1_son' class="liSon" title="类型" @on-hide="hides"></PopupRadio>
        </li>
      </ul>
      <router-view></router-view>

    </div>
</template>

<script>
  import { PopupRadio } from 'vux';
  export default {
    data(){
      return{
        opt:["申请油卡","资料更改","绑卡","解绑"],
        opt1:[
			{key:1,value:"第一"},{key:2,value:"第二"},{key:3,value:"第三"},
		],
		opt1_son:""
      }
    },
    components: {
      PopupRadio
    },
    methods:{
      hide(){
        console.log(this.$refs.liSon.$el.children[2].innerText)
      },
      hides(){
        console.log(this.opt1_son);
        //输出的是key ,比如选中的是   第一   控制台输出  1
      },
    }
  }
</script>

<style scoped>
  .getOilCard > ul{
    width: 90%;margin: 0.5rem auto;
  }
  .getOilCard > ul > li{
    position: relative;border-bottom: 0.01rem solid #e6e6e6;
    width: 100%;height: 1.2rem;margin: 0.3rem auto;line-height: 1.2rem;
  }
  .liSon{
    position: absolute;top:0;left: 0;right: 0;bottom: 0;border: none;
  }
</style>



一般获取DOM元素,需document.querySelector(".input")获取dom节点,然后执行其他操作。
但是用ref绑定之后,不需要在获取dom节点,直接在上面的input上绑定input,然后 r e f s 里 面 调 用 然 后 在 j s 里 面 这 样 调 用 t h i s . refs里面调用 然后在js里面这样调用 this. refsjsthis.refs.input
使用方法

<template>
    <input type="text" ref="input" @click='click'/>
</template>
<script>
export default{
	methods:{
		click(){
			this.$refs.input.value=1  //减少获取dom节点的消耗
		}
	}
}
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值