我有一个ListModel和一个转发器。转发器从ListModel中绘制Items,一个在另一个上面。到目前为止工作正常。
除了在每个应用程序启动时,我想要有不同的绘制顺序。
所以我认为最好在应用Repeater之前“洗牌”ListModel中的ListElements。我怎样才能做到这一点?
答案 0 :(得分:2)
使用以下答案:
适应package io.warthog.designpatterns.behaviorparameterization.impl;
import io.warthog.designpatterns.behaviorparameterization.Apple; import org.junit.Test;
import static org.mockito.Mockito.when;
public class AppleGreenColorPredicateTest {
private AppleGreenColorPredicate classUnderTest = new AppleGreenColorPredicate();
@Test
public void test_WithGreenApple_ReturnsTrue() {
Apple apple = new Apple();
apple.setColor("green");
when(classUnderTest.test(apple)).thenReturn(true);
}
}
你会得到以下功能:
<强> utils.js 强>
package io.warthog.designpatterns.behaviorparameterization.impl;
import io.warthog.designpatterns.behaviorparameterization.Apple; import org.junit.Assert; import org.junit.Test;
public class AppleGreenColorPredicateTest {
private AppleGreenColorPredicate classUnderTest = new AppleGreenColorPredicate();
@Test
public void test_WithGreenApple_ReturnsTrue() {
Apple apple = new Apple();
apple.setColor("green");
Assert.assertEquals(true, classUnderTest.test(apple));
}
}
<强> main.qml 强>
ListModel
在此link中,您可以找到一个示例。
答案 1 :(得分:-2)
如何调用函数然后返回模型。
function shuffle(n)
{
if(n === 1)
return ["apples", "oranges", "pears"];
else if(n === 2)
return ["banana", "oranges", "pears"];
}
Column {
Repeater {
model: shuffle(1)
Text { text: "Data: " + modelData }
}
}