我在使用扩展/不扩展时遇到麻烦。我遵循了供应商评级模板中的指示,但仍然没有运气。
我所做的:
onDataLoad
事件中使用此脚本创建名为 AccordionServeur 的纸质手风琴小部件(不是卡片):var rows = widget.children._values;
for (var i = 0; i < rows.length; i++) {
if (rows[i].name.indexOf('AccordionServeurDetail') === -1) {
rows[i].styles = ['collapsed'];
}
}
在AccordionServeurRow中添加一些文本框以编辑值(即,使用数据链接)
使用以下代码创建客户端脚本:
function expandAccordionRow(accordionRow) {
var rows = accordionRow.parent.children._values;
var i = 0;
for (i = 0; i < rows.length; i++) {
if (rows[i].name.indexOf('AccordionServeurDetail') > -1) {
rows[i].styles = [];
} else {
rows[i].styles = ['collapsed'];
}
}
accordionRow.styles = [];
}
function collapseAccordionRow(accordionRow) {
var rows = accordionRow.parent.children._values;
var i = 0;
accordionRow.styles = ['collapsed'];
for (i = 0; i < rows.length; i++) {
if (rows[i].name.indexOf('AccordionServeurDetail') > -1) {
rows[i].styles = ['hidden'];
}
}
}
function toggleAccordionRow(accordionRow) {
if (accordionRow.styles.length === 0) {
collapseAccordionRow(accordionRow);
} else {
expandAccordionRow(accordionRow);
}
}
onAttach
事件中,我运行以下脚本:widget.styles = ['collapsed'];
widget.getElement().removeAttribute('aria-expanded');
onClick
事件中,我运行以下脚本:toggleAccordionRow(widget);
dataLoad
事件中,我运行以下脚本:widget.styles=['hidden'];
但是当我打开小部件所在的页面时,它仍会扩展细节。 另外,如果我单击AccordionRow,则细节保持扩展事件。 我是否错过了脚本中的某些内容,还是因为小部件中的参数?
编辑: 我找到了解决方案。您必须创建样式“ collapsed”并在上面的脚本中调用它们:
.app-AccordionRow.collapsed {
margin: 0 !important;
}
.app-AccordionDetail.hidden {
display: none !important;
}
答案 0 :(得分:0)
您必须在全局样式部分的样式编辑器中创建样式“ collapsed”和“ Hidden”,才能在上面的脚本中调用它们:
.app-AccordionRow.collapsed {
margin: 0 !important;
}
.app-AccordionDetail.hidden {
display: none !important;
}