<select name="state">
{{#each states as |state|}}
<option value={{state.id}} disabled={{is-selected state.id matchedFilters}}>{{state.name}}</option>
{{/each}}
</select>
当用户选择一个选项时,我会将该选项添加到matchedFilters数组中。现在我希望禁用所选的选项。所以我为此写了一个帮手。
export function isSelected(params) {
let selected = params[0];
let options = params[1];
return options.indexOf(selected) >= 0;;
}
但是这个助手只在加载时执行。我希望每次匹配更改时都执行该帮助程序。
答案 0 :(得分:0)
您的matchedFilters
帮助程序很可能没有观察到is-selected
- 因为您很可能只是修改其内容(推送状态ID)而不是将数组实例设置为新数组。 / p>
我创建了一个带有两个is-selected
助手工作版本的旋转器。希望能为你清除它。
https://ember-twiddle.com/302ac612ba08293184a09c452ef0d8e0?openFiles=helpers.is-selected-smart.js%2C