ember.js - 我如何将作为数组传递的类属性设置为内部渲染组件以进行 ember 测试,因为目前使用 set doesnt pass array?
问题描述
用户在组件类上定义
// recipients-component.js
export default class RecipientsComponent extends Component {
get users () {
return [{name:'jerry'},{name:'ana'},{name:'erik'}]
}
get selectedUsers () {
return [{name:'jerry'}]
}
}
此用户被传递给 powerSlectMultiple 组件
// recipients-component.hbs
<div class="card-row">
<h3>Recipients</>
<div class="card-row">
<PowerSelectMultiple
@placeholder="Select recipient(s)"
@searchEnabled={{true}}
@selected={{this.selectedUsers}}
@options={{this.users}}
@onChange={{fn (mut this.selectedUsers)}}
@onKeydown={{this.handleKeydown}}
@searchField="name"
as |user|
>
{{user.name}}
</PowerSelectMultiple>
</div>
当我使用 this.set() 创建用户数组时,不呈现用户数组
- 有没有办法传递或创建用户数组以传递给这个组件?
// recipients-component-test.js
import { module, test } from 'qunit';
import { setupRenderingTest } from 'ember-qunit';
import hbs from 'htmlbars-inline-precompile';
module('Integration | Component | recipients-component', function (hooks) {
setupRenderingTest(hooks);
test('it renders users', function (assert) {
this.set('users', [{name:'jerry'},{name:'ana'},{name:'erik'}]); // not working
await render(hbs`<Recipients-component />`);
assert.equal(this.$('h3').text().trim(), 'Recipients');
});
});
解决方案
推荐阅读
- css - Z-Index 未在其他元素之上显示元素
- rust - 有没有办法将多个非复制元素移出数组?
- java - 如何将具有多个数据的字符串添加到字符串数组
- sqlite - EF Core 的数据优先多对多
- python - opencv - OMR -Python - 排序问题
- c# - .NET Core - FluentValidation 注入
- delphi - 防止 Delphi 10.2 自动向 TForm 添加属性
- python - Python中Seaborn绘图的控制顺序
- django - Django 过滤器返回将在模板中呈现的 HTML
- vba - 从手动制作的 Excel 表单自动填充多行