vue-指令获取focus

简介:如图循环需要的dom,通过点击事件将焦点聚焦在当前需要的input节点上。

html:(夹杂一些样式事件不需要可自行忽略)

<ul class="res_ul" id="res_ul">
            <li :class="item.active?'active':''" v-for="item,index in resArr" @click="addDelStatus(item,index)">
              <span style="display: inline-block;width: 40px;text-align: center ">{{index+1}}</span>
              <input v-if="item.type !== 'dot'" type="text" v-model="item.text"  @blur="handleBlur(item)" :disabled="!item.isEdit" v-focus="item.isEdit"  @change="valueChange(item)">
              <input v-else type="text" v-model="item.id"  @blur="item.isEdit = false" :disabled="!item.isEdit" v-focus="item.isEdit"></input>
              <i :class="item.type !== 'dot'?'el-icon-edit':''" style="float: right;line-height: 48px;margin-right: 10px;cursor: pointer"  @click="focusclick(item,index)"></i>
            </li>

          </ul>

js:以下是对focus的指令,对指令详解在官网上也可以自行研读。

directives: {
        focus: {
          update: function (el, {value}) {
            if (value) {
              el.focus();
            }
          }
        }
      },

猜你喜欢

转载自blog.csdn.net/moon476607596/article/details/86593349