Onsen UI Infinite List, 设置修饰符为 'longdivider 不起作用
Onsen UI Infinite List, setting the modifier as 'longdivider does not work
我在网络应用程序中使用无限列表。这是我用于创建列表的 angular 代码:
unverifiedPicturesInfiniteList.delegate = {
createItemContent: function(i) {
var pictureObject = $scope.unverifiedPictures[i];
var currentPictureID = $scope.unverifiedPictures[i]._id + 'VERIFYBUTTON';
var profilePictureSource = '/getProfilePic/' + pictureObject.profilePicture.fileName;
return ons._util.createElement(
"<ons-list-item modifier='longdivider' style='background-color: #C4C4C4;'>" +
"<div>" +
"<img src=" + profilePictureSource + "></img>" +
"<br/><button id=" + currentPictureID + " class='btn btn-primary' type='submit'>Verify Picture</button>" +
"</div>" +
"</ons-list-item>"
);
},
countItems: function() {
return $scope.unverifiedPictures.length;
},
calculateItemHeight: function() {
return 275;
}
};
如果您查看 'ons-list-item' 标记,您会看到我在哪里设置修饰符并更改列表元素的背景颜色。
颜色按照我的定义正确显示,但 longdivider 不正确。
我是不是做错了什么?这是温泉的bug吗UI?
更新
我认为这是一个错误,因为 'chevron' 修饰符正确显示。我会 link 在 Onsen UI 论坛上讨论这个。
实际上这两个修饰符的实现方式不同,所以我认为这不是问题所在。
这可能只是一个 browser/zooming 问题。确保您没有查看缩小的页面。边框应该只有 "half a pixel",因此您的浏览器可能无法正确显示它们。它们应该在实际设备上可见。
另一种选择是,如果您的项目是 276
像素而不是 275
- 也许您只是隐藏了边框。
更新 - 我用类似于你的代码制作了一个 codepen 并注意到 - 你将背景设置为 #c4c4c4
,边框应该是是#ccc
,所以只是你看不到而已,因为整个item的颜色基本一样。查看我将颜色更改为 #eee
的代码笔,您会在那里看到边框(可能)。如果不是 - 那么这是浏览器问题。
旁注:由于您使用的是 angular,因此您可能对设置 configureItemScope
而不是 createItemContent
感兴趣
我在网络应用程序中使用无限列表。这是我用于创建列表的 angular 代码:
unverifiedPicturesInfiniteList.delegate = {
createItemContent: function(i) {
var pictureObject = $scope.unverifiedPictures[i];
var currentPictureID = $scope.unverifiedPictures[i]._id + 'VERIFYBUTTON';
var profilePictureSource = '/getProfilePic/' + pictureObject.profilePicture.fileName;
return ons._util.createElement(
"<ons-list-item modifier='longdivider' style='background-color: #C4C4C4;'>" +
"<div>" +
"<img src=" + profilePictureSource + "></img>" +
"<br/><button id=" + currentPictureID + " class='btn btn-primary' type='submit'>Verify Picture</button>" +
"</div>" +
"</ons-list-item>"
);
},
countItems: function() {
return $scope.unverifiedPictures.length;
},
calculateItemHeight: function() {
return 275;
}
};
如果您查看 'ons-list-item' 标记,您会看到我在哪里设置修饰符并更改列表元素的背景颜色。
颜色按照我的定义正确显示,但 longdivider 不正确。
我是不是做错了什么?这是温泉的bug吗UI?
更新 我认为这是一个错误,因为 'chevron' 修饰符正确显示。我会 link 在 Onsen UI 论坛上讨论这个。
实际上这两个修饰符的实现方式不同,所以我认为这不是问题所在。
这可能只是一个 browser/zooming 问题。确保您没有查看缩小的页面。边框应该只有 "half a pixel",因此您的浏览器可能无法正确显示它们。它们应该在实际设备上可见。
另一种选择是,如果您的项目是 276
像素而不是 275
- 也许您只是隐藏了边框。
更新 - 我用类似于你的代码制作了一个 codepen 并注意到 - 你将背景设置为 #c4c4c4
,边框应该是是#ccc
,所以只是你看不到而已,因为整个item的颜色基本一样。查看我将颜色更改为 #eee
的代码笔,您会在那里看到边框(可能)。如果不是 - 那么这是浏览器问题。
旁注:由于您使用的是 angular,因此您可能对设置 configureItemScope
而不是 createItemContent