为了账号安全,请及时绑定邮箱和手机立即绑定

Vue.js 如何获取子组件中的任意元素

Vue.js 如何获取子组件中的任意元素

烙印99 2019-03-12 17:14:40
如图,动态添加节点为一行文字和对应的input,input原本是隐藏的,点击文字之后显示input。之后我想让input获得焦点(focus),但不知该如何恰当的获取这个input(不使用DOM操作)。代码如下:(html文件)<script src="https://cdn.jsdelivr.net/npm/vue"></script><div id="app">        <test v-for="(item,index) in items" :item="item" @show="show"></test></div><script>Vue.component('test',{    props:['item'],    template:    `    <div>        <p @click="show($event,item)">{{item.text1}}</p>        <input v-model="item.text1" v-show="item.show_input" :ref="item.text1"></input>    </div>    `,    methods:{        show(event,item){            this.$emit('show',event,item);        }    }});new Vue({    el:'#app',    data:{        items:[            {                'text1':'aaaaaaa',                'show_input':false            },            {                'text1':'bbbbbbb',                'show_input':false            }        ]    },    methods:{        show(event,item){            item.show_input=true;            let ref_name=item.text1;            console.log(this.$refs.ref_name); // undefined        }    }});</script>
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 3084 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信