【问题标题】:Value selected in v-select appears in v-textfieldv-select 中选择的值出现在 v-textfield 中
【发布时间】:2021-01-23 00:53:24
【问题描述】:

我正在尝试将 v-select 中的选定值加载到 v-text 字段中,但是有一个我真的不知道如何修复的错误,我请求帮助以提供解决方案我的模板,因为我开始使用 vuetify。

<script>
export default {
  data() {
    return {
      selecionado: "",
      items: [
        {
          text: "select1",
          text2: "probando1",
          value: 1,
        },
        {
          text: "select2",
          text2: "probando2",
          value: 2,
        }
      ]
    };
  },
  methods: {
    selectedItem() {
      return this.items.find((item) => item.value == this.selecionado);
    },
    valorseleccionado() {
      return this.selectedItem ? this.selectedItem.text2 : "";
    },
  },
};
</script>

这是我的 vuetify 模板:

<template>
  <v-container>
    <v-row>
      <v-col cols="12" sm="3" md="3">
        <v-select
          v-model="selecionado"
          :items="items"
          label="selecciona"
        ></v-select>
      </v-col>
      <v-col cols="12" sm="3" md="3">
        <v-text-field
          v-model="valorseleccionado"
          label="Valor Seleccionado text2"
        ></v-text-field>
      </v-col>
    </v-row>
  </v-container>
</template>

返回:

【问题讨论】:

  • 如果this.selectedItem 是一种方法,this.selectedItem.text2 应该是什么?

标签: vue.js vuetify.js


【解决方案1】:

您应该使用computed 属性代替方法:

  computed: {
    vselectItem() {
      let selectedItem = this.items.find((item) => item.value == this.selected);
      return (selectedItem && selectedItem.text2) ? selectedItem.text2 : "";
    },
  }

这里是codepen 示例,展示它是如何工作的。

【讨论】:

  • 按指示更改时,出现此错误:编译失败,计算出 1 个错误:{ 40 | vselectItem() {> 41 | let: selectedItem= (this.items.find((item) => item.value == this.selected));意外的保留字“让”
  • 你在 let 后面加了冒号,正如我提到的,我放在这里的代码是示例
猜你喜欢
  • 1970-01-01
  • 2018-02-15
  • 1970-01-01
  • 2019-07-01
  • 1970-01-01
  • 2019-03-21
  • 2021-11-22
  • 2021-10-05
  • 2021-04-07
相关资源
最近更新 更多