Имеет ли ember-power-select функцию, которая помечает как выбранную, когда пользователь вводит текст, которого нет в записи? - PullRequest
1 голос
/ 21 апреля 2020

У меня есть сценарий, в котором пользователь может вводить текст, и когда он нажимает клавишу Enter, он помечается как выбранный. Вопрос, how will I show the input text that should show as selected when I press Enter? Пример: я набрал Miguel и нажал ввод, он должен отображаться как одна из выбранных записей

Аддон: 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);
    }
  }
}

1 Ответ

1 голос
/ 21 апреля 2020

Он не встроен в компонент PowerSelectMultiple. Но он может быть доступен в любом из дополнений, созданных на основе дополнения PowerSelect. Перейдите по этой ссылке для получения информации о поддерживаемых дополнениях.

Ваше требование может быть решено с помощью приведенного ниже дополнения: https://github.com/cibernox/ember-power-select-with-create

...