ember-power-select是否具有当用户输入不在记录中的文本时标记为已选择的功能?

问题描述 投票:0回答:1

我有一个场景,用户可以输入文本,当他按下Enter键时,它将被标记为已选择。问题,how will I show the input text that should show as selected when I press Enter?示例:我输入了Miguel并按Enter,它应显示为所选记录之一

附件:https://ember-power-select.com/docs/multiple-selection

enter image description here

/template.hbs

<PowerSelectMultiple
  @searchEnabled={{true}}
  @options={{this.names}}
  @selected={{this.name}}
  @onInput={{fn this.foo}}
  @onKeydown={{fn this.baz}}
  @placeholder="Select some names..."
  @onChange={{fn (mut this.name)}} as |name|>
  {{name}}
</PowerSelectMultiple>

/component.js

import Controller from '@ember/controller';
import { action } from "@ember/object";
import { tracked } from "@glimmer/tracking";

export default class extends Controller {
  @tracked
  fooBarBazList = [];

  @tracked
  fooBarBazSelectedFromInput = "";

  names = ['Stefan', 'Mike', 'Tomster', 'Pluto'];

  @action
  foo(value) {
    this.fooBarBazSelectedFromInput = value;
  }

  @action
  baz(value, event) {
    if(event.key === 'Enter') {
      let list = this.fooBarBazList;
      let selected = this.fooBarBazSelectedFromInput;
      list.pushObject(selected);
    }
  }
}
ember.js ember-data ember-cli
1个回答
0
投票

它不是PowerSelectMultiple组件中内置的。但是它可能在基于PowerSelect插件构建的任何插件中都可用。请参阅此link以获取受支持的插件。

您的要求可以使用以下附件解决,https://github.com/cibernox/ember-power-select-with-create

© www.soinside.com 2019 - 2024. All rights reserved.