簡體   English   中英

如何在 vue js 中設置輸入表單控件默認聚焦,直到輸入值?

[英]how to set input form-control focused by default until input value in vue js?

在此處輸入圖像描述

我導入文件並檢查返回真或假的 function isValidCell()。 如果返回為假,我想設置始終聚焦,直到用戶輸入值。

我嘗試通過 autofocus 和 document.getelementbyid("notValid").focus() 進行設置,但它不起作用。 我怎樣才能做到這一點?

<div class="table-body">
                    <div class="table-row" v-for="(row, index) in currentFile.data" :key="index" :class="{'duplicated-tooling': (duplicatedForm.isRegRetry) || (duplicatedForm.isRetry &&  duplicatedForm.duplicatedTooling.id === row[0] && isDuplicatedTooling(index, currentFileIndex))}">
                        <div class="table-cell" :style="{flex: '0 0 55px'}">
                            <div class="row-action" @click="showWarningDeleteForm(index)">
                                <i class="fa fa-times-circle"></i>
                            </div>
                        </div>
                        <div class="table-cell" :id="'cell-' + index + '-' + headerIndex" :class="{'text-left': header.mappedHeader.code === 'toolDescription'}" v-for="(header, headerIndex) in currentFile.headers" :key="headerIndex"
                             :style="{ flex: '0 0 ' + lengthOfHeader(header) * 10  + 'px', maxWidth: lengthOfHeader(header) * 10  + 'px' }" @dblclick="showFormEditCell">
                            <div class="value-wrapper">
                                <div class="value">{{ labelOfCell(header, row[headerIndex]) }}</div>
                                <div class="input-form-wrapper">
                                    <div class="left-content">
                                        <select v-if="header.mappedHeader.rules.options" class="form-control" v-model="row[headerIndex]">
                                            <option v-for="option in header.mappedHeader.rules.options" :value="option.value"> {{ option.name }}</option>
                                        </select>
                                        <textarea v-else-if="header.mappedHeader.rules.inputType === 'textarea'" class="form-control" v-model="row[headerIndex]"></textarea>
                                        <input v-else class="form-control" v-model="row[headerIndex]" />
                                    </div>
                                    <div class="right-content" v-if="false">
                                        <div class="btn-action save-input">
                                            <i class="fa fa-check"></i>
                                        </div>
                                    </div>
                                </div>
                            </div>

                            <div class="cell-error-wrapper" v-if="!isValidCell(header, row[headerIndex])">
                                <div class="cell-error" :class="{ left: headerIndex === currentFile.headers.length - 1}">
                                    <div class="error-icon">
                                        <img src="/images/import-tooling/question-mark.svg" alt="error icon"/>
                                    </div>
                                    <div class="error-content">
                                        <div class="error-arrow"></div>
                                        <div class="error-body" v-html="errorMessage(header, row[headerIndex])">
                                        </div>

                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

我認為您可以從下面的代碼中獲取參考

<template>
<div>
    <el-form :model="form" ref="form">
        <el-input v-model="form.email" ref="email">
        </el-input>

        <el-button type="primary" @click="setFocus">
        </el-button>
    </el-form>
</div>

export default {
    name: 'Login',
    data() {
        return {
            form: {
                email: '',
            },
        };
    },
    methods: {
        setFocus() {
             his.$refs.input.$refs.input.focus()
        },
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM