我正在尝试构建一个包含ChoiceGroup的SPFx Webpart。当我将CSS样式设置为垂直对齐时:ms-sm12
Show assigned to:
o anyone
* me
o nobody
Run Code Online (Sandbox Code Playgroud)
我喜欢它们在一行中水平对齐:
Show assigned to: o anyone * me o nobody
Run Code Online (Sandbox Code Playgroud)
当我将样式设置ms-sm6为时,它会将它们“混合”对齐:将Slider和Toggle设置为ms-sm3
Show assigned to: o anyone
* me
o nobody
Run Code Online (Sandbox Code Playgroud)
有了ms-sm4它看起来像:
使用ms-sm3,时ms-sm2,ms-sm1看起来(标题越来越紧,并且所有选项都在一个列中:
如何强制/鼓励将选项水平呈现?
我必须等待0-n的承诺.我目前检查我是否有0,1或更多的承诺,然后要么不承诺,一个承诺或Promise.All.
这对我来说似乎很糟糕,这个return this._createItemAndReloadItems(logItem)部分重复了三次.是否有更好的模式来实现这一目标?
public createItem( logItem: IInteractionLogItem): Promise<IInteractionLogItem[]> {
const userPromises: Promise<{}>[] = [];
if(logItem.Client && logItem.Client.AccountName){
userPromises.push(this._ensureUser(logItem.Client));
}
if(logItem.AssignedTo && logItem.AssignedTo.AccountName){
userPromises.push(this._ensureUser(logItem.AssignedTo));
}
if(logItem.ResolvedBy && logItem.ResolvedBy.AccountName){
userPromises.push(this._ensureUser(logItem.ResolvedBy));
}
if(logItem.Referrer && logItem.Referrer.AccountName){
userPromises.push(this._ensureUser(logItem.Referrer));
}
console.log("SharePointDataProvider.CreateItem: userPromises.length=" + userPromises.length);
if( userPromises.length == 0)
{
return this._createItemAndReloadItems(logItem);
}
else if( userPromises.length == 1)
{
return userPromises[0].then( (value: {}) => { return this._createItemAndReloadItems(logItem); });
}
else
{
return Promise.all(userPromises).then( (value: {}[]) => { return this._createItemAndReloadItems(logItem); });
}
}
Run Code Online (Sandbox Code Playgroud)
是否有更好的模式来处理动态的承诺数量?