如何在 Vue.js 中的按钮单击事件上启用文本字段?

尼库尔维亚斯

我有 5 个文本字段。

1._id,
2.name,
3.display,
4.reference,
5.ref_id

我只想在单击按钮时启用第二、第三和第四个文本字段。因此,我在 Vue.js 的数据部分声明了一个变量“禁用”,并在按钮单击事件上调用函数 enableFields()。这是我的模板代码:

<template>
<div>
<!-- Dialog Modal Design -->
<v-dialog v-model="dialog" @keydown.esc="setDialog(false)" width="800px">
  <v-card>
    <v-card-title
      class="grey lighten-4 py-4 title">
    <v-icon>fa-envelope-open</v-icon>
    &nbsp; Add/Edit a Record
    </v-card-title>
    <!-- Modal pop up text fields -->
    <v-container grid-list-sm class="pa-4">
      <v-layout row wrap>
        <v-flex xs12 align-center justify-space-between>
          <v-layout align-center
            v-for="(column, i) in columns"
            :key ="i"
            v-if="column.field != ''">
            <v-text-field
              v-bind:value="getEntryFieldData(column)"
              :label="column.headerName"
              :disabled="disable">
            </v-text-field>
            <!-- ="(column.headerName == '_id')" -->
          </v-layout>
        </v-flex>
      </v-layout>
    </v-container>
    <!-- Edit/Update/Cancel Buttons -->
    <v-card-actions>
      <v-spacer></v-spacer>
      <v-btn color="secondary" @click="onCancel">
          <v-icon>fa-ban</v-icon>
          &nbsp; Cancel
      </v-btn>
      <v-btn color="primary" @click="onCancel">
          <v-icon>fa-save</v-icon>
          &nbsp; Update
      </v-btn>
      <v-btn v-if="visible"
        color="primary" @click="enableFields">
          <v-icon>fa-pencil-alt</v-icon>
          &nbsp; Edit
      </v-btn>
    </v-card-actions>
  </v-card>
</v-dialog>
</div>
</template>

这是我的脚本:

<script>
import {mapGetters} from 'vuex';

export default {
  name: 'MasterModal',
  props: {
    input: Object,
    addBtnClick: Boolean
  },
  data () {
    return {
      isReadOnly: false,
      dialog: false,
      valid: false,
      visible: true,
      disable: true
    };
  },
  computed: {
      ...mapGetters('masterData', {
      entryState: 'entryState',
      entryData: 'entryData',
      columns: 'columns'
    })
  },
  watch: {
    addBtnClick: function (newValue, oldValue) {
    this.setDialog(!this.dialog);
  }
},
methods: {
   setDialog (bValue) {
   this.dialog = bValue;
 },
// Called when the cancel button is pressed in the form
// Clears and data currently entered in the form and closes the input modal
onCancel () {
  this.setDialog(false);
},
// Reading all column values and filling row data into the textbox in the v-for of template
getEntryFieldData (column) {
  return this.entryData[column.field];
},
enableFields () {
  this.disable = false;
}
}
};
</script>

基本上,当我使用 v-for 动态生成它们时,我对分配每个文本字段的属性感到困惑。

法布鲁埃克斯

实现它的最快方法是:

<v-text-field
    v-bind:value="getEntryFieldData(column)"
    :label="column.headerName"
    :disabled="disable || i == 0 || i == 4">
</v-text-field>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Vue.js中单击按钮时清除文本字段?

如何在Vue.js中调整文本字段反应性

如何在 Vue.js 中循环?

如何在Vue JS中触发元素?

如何在Vue js中绑定跨度?

如何获取文本字段的值并将其传递给 Vue.js 中的方法?

如何仅禁用输入文本字段Vue JS中的前导空格

如何在Vue.js中包含外部Vue脚本

如何在Vue JS中动态分配键盘事件

在输入字段搜索vue.js上单击按钮(X)时如何执行功能

如何在vue.js中显示富文本内容?

Vue.js如何替换单击按钮的文本

如何在Vue.js中单击按钮时打开div标签?

如何在 vue js 应用程序中单击按钮下载 json 文件

如何在 vue.js 中不使用 <td> 的情况下在数据表列中添加文本字段

如何使用 React 创建自动填充/填充按钮单击事件上的文本字段的功能?

如何/如何在Vue Js方法的数据中定义变量?

Vue Js:如何在localStorage中存储图片并在vue js中显示在网页上

如何通过单击 React 上的按钮在屏幕上显示文本字段中的文本

如何在vue.js中保持carel onInput事件

如何在组件链上传播Vue.js事件?

如何在Vue.js中将图像用作按钮?

如何在Vue.js中切换按钮

如何在Vue js中将翻译的文本传递给数据

如何在vue.js中的更改单选按钮上从父div添加/删除类

如何在AWS上运行Vue JS应用程序?

如何在Vue上循环获取月份矩js?

如何在 vue.js 2 上添加类?

如何在vue.js上使用konva获得价值