ember.js 列表中的多选复选框
Mutliselect checkbox in a list in ember.js
所以我有一个待办事项列表,我需要为每个待办事项添加一个复选框,然后在选中该复选框时获取 todo.title
我的application.hbs
{{#each model as |todo|}}
<li class="list_shopping li_num_0_1">
<div class="col_md_3_list">
<div class="cont_text_date">
{{input type="checkbox"}}
{{todo.title}}
</div>
</div>
</li>
{{/each}}
我的application.js
export default Route.extend({
newTodo: "",
actions: {
model() {
return this.store.findAll("todo");
}
});
有什么想法吗?
我尝试了很多解决方案,但 none 的解决方案有效 https://guides.emberjs.com/v1.10.0/getting-started/marking-a-model-as-complete-incomplete/
https://ember-twiddle.com/b0e9cab25764e50c122ca482776bdae3?openFiles=routes.application.js%2C
解决方法很简单。您需要做的是捕获从复选框输入触发的事件。然后在控制器中,您需要捕获该事件并更改 checked=true 的属性,然后它将获得 checked 状态,您可以创建一个观察者来处理您列出的模型的 属性 。示例
Todos have todo[]
todo has a property todo.isselected
当你放入数组时,你可以做如下操作
{{input type='checkbox' id='todo.id' checked=todo.isselected}}
在控制器中,让观察者观察 todo.isselected
(model.isselected - 无论您使用什么本地模型名称)
示例
captureNameWhenSelected: observer ("todo.isselected", function(){
arrayOfNames.pushObject( this.get('todo.id') ,this.get('todo.name'));
})
希望这有助于解决您的问题
所以我有一个待办事项列表,我需要为每个待办事项添加一个复选框,然后在选中该复选框时获取 todo.title
我的application.hbs
{{#each model as |todo|}}
<li class="list_shopping li_num_0_1">
<div class="col_md_3_list">
<div class="cont_text_date">
{{input type="checkbox"}}
{{todo.title}}
</div>
</div>
</li>
{{/each}}
我的application.js
export default Route.extend({
newTodo: "",
actions: {
model() {
return this.store.findAll("todo");
}
});
有什么想法吗? 我尝试了很多解决方案,但 none 的解决方案有效 https://guides.emberjs.com/v1.10.0/getting-started/marking-a-model-as-complete-incomplete/ https://ember-twiddle.com/b0e9cab25764e50c122ca482776bdae3?openFiles=routes.application.js%2C
解决方法很简单。您需要做的是捕获从复选框输入触发的事件。然后在控制器中,您需要捕获该事件并更改 checked=true 的属性,然后它将获得 checked 状态,您可以创建一个观察者来处理您列出的模型的 属性 。示例
Todos have todo[]
todo has a property todo.isselected
当你放入数组时,你可以做如下操作
{{input type='checkbox' id='todo.id' checked=todo.isselected}}
在控制器中,让观察者观察 todo.isselected
(model.isselected - 无论您使用什么本地模型名称)
示例
captureNameWhenSelected: observer ("todo.isselected", function(){
arrayOfNames.pushObject( this.get('todo.id') ,this.get('todo.name'));
})
希望这有助于解决您的问题