Javascript 选择选项上的选定属性不工作(Ember.js+把手)

Javascript 选择选项上的选定属性不工作(Ember.js+把手),javascript,ember.js,handlebars.js,html-select,Javascript,Ember.js,Handlebars.js,Html Select,我正在使用Ember实现一个下拉列表,但是我无法使用Handlebar表达式设置option元素的selected属性 下面是一个说明问题的例子。请注意,在旋转的DOM中,顶部示例中所选属性没有显示 <select aria-disabled="{{disabled}}" aria-multiselectable="{{multiselect}}" disabled={{cannotOpen}} onchange={{action 'itemClicked'

我正在使用Ember实现一个下拉列表,但是我无法使用Handlebar表达式设置option元素的selected属性

下面是一个说明问题的例子。请注意,在旋转的DOM中,顶部示例中所选属性没有显示

<select
    aria-disabled="{{disabled}}"
    aria-multiselectable="{{multiselect}}"
    disabled={{cannotOpen}}
    onchange={{action 'itemClicked' value='target.value'}}
>
    <option selected disabled value="">{{placeholder}}</option>

    {{#each items as |item|}}
        <option 
            value={{item.value}}
            selected={{if (is-item-selected item.state) "selected"}}
            disabled={{item.disabled}}
        >
            {{item.name}}
        </option>
    {{/each}}
</select>
is item selected是一个自定义帮助程序,如果item.state ==2,当在下拉列表中选择该项时会执行此操作

无论我在把手中尝试什么,所选属性都不会显示,例如selected={{if true selected}}也不起作用。但是,将“选定数据”更改为“选定数据”的效果完全符合预期


有人知道这个问题吗?或者我误解了所选属性应该如何工作?

所以这实际上是dom/html的一个特性。类和数据属性是属性,而选定对象是属性

有一个


如果你想直接说,我从另一个答案中偷了这个:

所以这实际上是dom/html的一个特性。类和数据属性是属性,而选定对象是属性

有一个


如果你想直接去,我从另一个答案中偷了这个:

你可能想显示被选中的项目。它是否执行任何类型的异步操作?这将返回void而不是所选状态布尔值。对我来说,你的摆弄看起来就像预期的那样。选定项不会对选项进行重新排序,而只是将其具有值的选项标记为选定项,该值应在打开它之前显示在“选择”中。您可能希望显示“是选定项”帮助器。它是否执行任何类型的异步操作?这将返回void而不是所选状态布尔值。对我来说,你的摆弄看起来就像预期的那样。选定项不会对选项重新排序,而只是将具有值的选项标记为选定项,该值应在打开之前显示在“选择”中。