Ember Power Select - 如何关闭 EPS select

Ember Power Select - How to close select of EPS

我试图在 select 框执行 Ember 功率 Select 搜索之前关闭它。如果用户粘贴列表并自动设置 selected 项目,我假设用户知道他在寻找什么。

我尝试使用 select.actions.close() 但它似乎与 onClose() 事件有关。我也尝试使用 属性 opened 但更改它并没有显示任何差异。

我的组件

{{#power-select-multiple
        renderInPlace=true
        search=(action "mySearch")
        selected=selected_item
        onchange=(action (mut selected_item))
        oninput=(action "checkPastingMultipleElements")
        opened=checkSelect
        as |name|
}}
    {{name}}
{{/power-select-multiple}}

我的行动

checkPastingMultipleElements(text, select) {
        this.set('selecteded_item', [text]);
        // error
        // select.actions.close()

        // does nothing
        // if (text.length === 4) { this.set('checkSelect', false); }            

        return false; // if true, it executes the search
}

您最初的猜测是正确的,使用 select.actions.close 是可能的,但您必须将其放入运行循环中以避免双重渲染问题。

此外,如果您想要做的是 select 一个值并关闭 select,select.actions.choose 正是您想要的。

  checkPastingMultipleElements(text, select) {
    Ember.run.scheduleOnce('actions', null, select.actions.choose, [text]);
  }