Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript v选择同步修改器将id为的文本从子项传递到父项_Javascript_Vue.js_Vuejs2_Vue Component_Vuetify.js - Fatal编程技术网

Javascript v选择同步修改器将id为的文本从子项传递到父项

Javascript v选择同步修改器将id为的文本从子项传递到父项,javascript,vue.js,vuejs2,vue-component,vuetify.js,Javascript,Vue.js,Vuejs2,Vue Component,Vuetify.js,我在子组件中有以下v-select <VSelect label="Attribute" :items="addOnLabelItems" :value="addOnLabelId" @input=" $emit('update:addOnLabelId', $event) "

我在子组件中有以下v-select

<VSelect
                label="Attribute"
                :items="addOnLabelItems"
                :value="addOnLabelId"
                @input="
                  $emit('update:addOnLabelId', $event)
                "
                solo
                outline
                reverse
                type="text"
              />

在parent中,我得到了
addOnLabelId
的.sync修饰符。事实证明,
$emit
中传递的$event只是select用户选择的唯一id

问题1):我如何同时传递带有id的文本


问题2)是否可以为v-select添加另一个同步修饰符,以便当select更改时,它抛出两个
$emit
(一个抛出id,另一个抛出文本),并且在父组件中,我可以分别捕获它们?

您可以将对象作为v-select中的项目传入,但是您必须使用项目文本和项目状态来关联值和文本

如果您想要返回一个对象,那么还必须将return object属性添加到v-select。()

返回Vuetify文档中描述的对象

更改选择行为以直接返回对象,而不是 大于使用项值指定的值

HTML/Vue:

<div id="app">
  <v-container fluid grid-list-xl>
    <v-layout wrap align-center>
      <v-flex xs12 sm6 d-flex>
        <v-select
          :items="items"
          label="Attributes"
          item-text="state"
          item-value="abbr"
          @input="atInput($event)"
          @change="atInput($event)"
          return-object
        ></v-select>
      </v-flex>
    </v-layout>
  </v-container>
</div>
这是一个工作代码笔:

如果查看代码笔中的控制台,它会记录返回的$event是一个对象

我还将@input@change添加到v-select中,但您不需要两者兼而有之


我希望这能帮助您解决问题。

您可以将对象作为v-select中的项目传入,但您必须使用项目文本和项目状态来关联值和文本

如果您想要返回一个对象,那么还必须将return object属性添加到v-select。()

返回Vuetify文档中描述的对象

更改选择行为以直接返回对象,而不是 大于使用项值指定的值

HTML/Vue:

<div id="app">
  <v-container fluid grid-list-xl>
    <v-layout wrap align-center>
      <v-flex xs12 sm6 d-flex>
        <v-select
          :items="items"
          label="Attributes"
          item-text="state"
          item-value="abbr"
          @input="atInput($event)"
          @change="atInput($event)"
          return-object
        ></v-select>
      </v-flex>
    </v-layout>
  </v-container>
</div>
这是一个工作代码笔:

如果查看代码笔中的控制台,它会记录返回的$event是一个对象

我还将@input@change添加到v-select中,但您不需要两者兼而有之


我希望这有助于您解决问题。

您可以创建一个可以执行您所需操作的方法,并将其挂接到@inputyeah,但@input将只返回id。然后,我必须遍历我的项目,找到具有该返回id的特定对象。当我找到它时,我应该更新它。这就是我不想要的-循环。你可以创建一个做你想做的事情的方法,并将其挂接到@inputyeah,但是@input只返回id。然后我必须循环我的项目,找到具有返回id的特定对象。当我找到它时,我应该更新它。这就是我不想要的——循环。