0

我的 vue.js 绑定输入框在任何按键后都会失去焦点。我发现了这个类似的问题,但它并没有真正帮助我,因为我不使用任何键。这是我的模板代码:

<DxColumn data-field="width"
          caption="Spaltenbreite"
          :allowEditing="false"
          cell-template="width-settings" />

<!-- ... -->

<template #width-settings="cell">
    <div>
        <CSwitch :checked.sync="cell.data.data.width.set" size="sm" color="success" />
        <div class="input-group input-group-sm" v-if="cell.data.data.width.set">
            <input type="text" v-model="cell.data.data.width.width" class="form-control text-right" placeholder="auto" />
            <select v-model="cell.data.data.width.unit" class="input-group-append custom-select custom-select-sm">
                <option value="">Bitte wählen</option>
                <option value="DEL">Nicht festlegen</option>
                <optgroup label="Absolute Einheiten">
                    <option value="cm">Zentimeter</option>
                    <option value="mm">Millimeter</option>
                    <option value="in">Zoll</option>
                    <option value="px">Pixel</option>
                </optgroup>
                <optgroup label="Relative Einheiten">
                    <option value="em">-fache der Schriftgröße</option>
                    <option value="%">% des Bildschirms</option>
                </optgroup>
            </select>
        </div>
    </div>
</template>

这是 DevExtreme dxDataGrid 单元定义的一部分。如何防止该领域每次都失去焦点?

4

1 回答 1

0

仅使用此代码很难判断发生了什么,所以我要猜测一下。

我看到输入有v-model="cell.data.data.width.width"并且父母有v-if="cell.data.data.width.set"虽然这不应该引起问题,并且可能存在其他类似的条件,我相信更改v-model正在触发重新渲染。如果是这种情况,我认为您可以通过在输入中添加一个键来解决它。不会改变的东西,理想情况下是这样的cell.data.data.width.id

TL;博士;

给输入一个键

于 2020-05-14T15:01:10.603 回答