el的form表单里面有很多输入框,实现点击回车焦点跳到下一个输入框里

在使用el的form表单时,有时候会有很多的输入框,点击回车焦点跳到下一个输入框,我们需要自定义属性v-enterToNext(随便取)

 <el-form :model="form" :inline="true" v-enterToNext>
 </el-form>

enterToNext便是自定义属性,在对应的form表单使用即可

Vue.directive("enterToNext", {
  inserted: function (el) {
    console.log("enterToNext...");
    //let frm = el.querySelector('.el-form');
    let inputs = el.querySelectorAll("input");
    console.log(inputs);
    //绑定回写事件
    for (var i = 0; i < inputs.length; i++) {
      inputs[i].setAttribute("keyFocusIndex", i);
      inputs[i].addEventListener("keyup", (ev) => {
        if (ev.keyCode === 13) {
          let targetTo = ev.srcElement.getAttribute("keyFocusTo");
          if (targetTo) {
            this.$refs[targetTo].$el.focus();
          } else {
            var attrIndex = ev.srcElement.getAttribute("keyFocusIndex");
            var ctlI = parseInt(attrIndex);
            if (ctlI < inputs.length - 1) inputs[ctlI + 1].focus();
          }
        }
      });
    }
  },
});
Element UI 中,你可以使用 `el-select` 组件的 `collapse-tags` 属性来实现下拉选择框可以再点击展开的功能。以下是一个示例代码: ```html <template> <el-form> <el-form-item label="选择项"> <el-select v-model="selectedItem" placeholder="请选择" clearable collapse-tags @remove-tag="handleRemoveTag" > <el-option v-for="item in items" :key="item.value" :label="item.label" :value="item.value" ></el-option> </el-select> </el-form-item> </el-form> </template> <script> export default { data() { return { selectedItem: '', items: [ { label: '选项1', value: 'option1' }, { label: '选项2', value: 'option2' }, { label: '选项3', value: 'option3' }, // 其他选项 ] }; }, methods: { handleRemoveTag() { this.selectedItem = ''; } } }; </script> ``` 在上面的示例中,我们使用了 `el-select` 组件和 `el-option` 组件来实现下拉选择框。通过设置 `collapse-tags` 属性,我们可以使下拉选择框在点击已选项时展开,允许重新选择。 我们还使用了 `clearable` 属性,使得选择框右侧出现清空按钮,可以清除已选项。 在 `data` 中,我们定义了 `selectedItem` 变量来存储用户选择的项。`items` 数组表示下拉选择框中的选项列表。 在 `methods` 中,我们定义了 `handleRemoveTag` 方法,在点击已选项的关闭按钮时清空选择。 你可以根据自己的需求调整示例代码,并根据 Element UI 的文档了解更多关于 Select 组件和表单的用法。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值