我有以下使用自定义材质UI主题的React组件
const getTheme = name => themes.filter(theme => theme.name === name)[0] || 主题[0];
const Root = props => (
<MuiThemeProvider muiTheme={getMuiTheme(getTheme(props.theme).data)}>
<Router history={history}>
<Switch>
<Route component={AppContainer}/>
</Switch>
</Router>
</MuiThemeProvider>
);
Run Code Online (Sandbox Code Playgroud)
它由一个容器喂养
const mapStateToProps = state => ({
theme: state.settings.theme
});
const RootContainer = connect(mapStateToProps, {})(Root);
Run Code Online (Sandbox Code Playgroud)
当我在设置页面上更新主题名称时,状态会更新(通过Redux日志记录确认),但主题不会更新.但是,当我离开页面时,将应用新主题.
据推测,状态的改变不会导致Root组件重新渲染,或者在应用此方法时我不明白
<MuiThemeProvider muiTheme={getMuiTheme(getTheme(props.theme).data)}>
Run Code Online (Sandbox Code Playgroud)
知道如何让主题更新它在状态中更改的实例吗?
我的具有一对多映射的域类通常采用以下形式(未经测试的代码):
public Customer Customer
{
// Public methods.
public Order AddOrder(Order order)
{
_orders.Add(order);
}
public Order GetOrder(long id)
{
return _orders.Where(x => x.Id).Single();
}
// etc.
// Private fields.
private ICollection<Order> _orders = new List<Order>();
}
Run Code Online (Sandbox Code Playgroud)
我在处理一对多关系时看到的EF4代码示例公开了一个公共ICollection.
有没有办法通过暴露它们来持久化和恢复我的收藏?如果没有,似乎我的域对象将被设计为满足ORM的要求,这似乎违背了努力的精神.公开ICollection(使用它的Add等方法)似乎并不特别干净,也不是我的默认方法.
更新
发现这篇文章表明它在5月份是不可能的.当然,微软的海报确实表示他们"正在强烈考虑实施"它(我希望如此)而且我们已经半年了,所以也许有一些进步?
我正在显示一个包含视图控制器的popover,其中设置了modalInView属性.在继续之前,我需要用户在此处输入回复.
虽然这会禁用我的大多数用户界面控件,但它会禁用主应用程序上的工具栏按钮.我不希望用户在弹出窗口中选择项目并关闭它之前与应用程序进行交互.
我在这里错过了一些聪明的东西 - 即默认情况下会禁用工具栏吗?为什么它仍然活跃?是否有一些需要它的用户界面指南?
我应该只设置工具栏以禁止用户交互,还是那么乱?
我正在使用jQuery Mobile(jQM)和Knockout.js(ko)来开发应用程序.在这个应用程序中,我需要生成由不断更新的Web服务定义的可变数量的按钮.
所以,在我的标记中,我有:
<div id="answerPage-buttons" data-bind="foreach: buttonsLabels">
<button data-role="button" data-inline="true" data-theme="b" data-bind="text: text, click: $root.submitAnswer" />
</div>
Run Code Online (Sandbox Code Playgroud)
buttonLabels是从Web服务返回的短字符串列表.它被定义为:
self.buttonLabels = ko.observableArray();
Run Code Online (Sandbox Code Playgroud)
当按钮不是"jQM样式"时,这一切都正常.但是,当我使用它们设置样式时:
$("#answerPage-buttons").trigger("create");
Run Code Online (Sandbox Code Playgroud)
更新期间出现问题.
问题似乎是jQM将按钮包装在一个div(带有兄弟跨度)中,以使它们看起来很漂亮和移动.但是,当ko通过绑定应用更新时,它只删除标记,留下周围的东西,并添加新的按钮标记 - 然后由jQM触发器调用设置样式.
所以,我最终得到了一个不断增长的按钮列表 - 只有最后一组按钮可操作(因为之前的按钮元素被移除了,但所有样式仍然存在).
我想,通过在observable更新后立即进行以下调用,我设法解决了这个问题:
$("#answerPage-buttons div.ui-btn").remove();
Run Code Online (Sandbox Code Playgroud)
但是,我的感觉是,可能有更好的方法.在那儿?
我有一个jQuery Mobile应用程序,我已经使用PhoneGap转换为iOS应用程序.我正在使用jQM的1.1.0版本.
我在页面之间使用"淡入淡出"过渡(因为我读到它们要求不高).
当最初在iPhone模拟器中运行应用程序的PhoneGap版本时,我在每次页面转换后都会出现闪烁/闪烁 - 好像页面正在显示,清除然后重新显示 - 所有这些都只需要几分之一秒.当我在设备上运行它时发生了一些事情.
我在Sarah-Jane对类似问题的回答中提出了建议.
这解决了模拟器中的问题,但在实际设备上没有.
有谁遇到过这个问题,并找到了解决方案?
我正在向cellForRowIndexPath中的单元格添加项目(例如手势识别器,子视图).如果重复使用单元格(大概是),我不想添加这些,所以有没有办法轻松判断单元格是新的还是被重用?
单元原型在故事板中定义.
我没有为单元格使用自定义子类(看起来像是矫枉过正).我正在使用单元格标记来识别子视图,因此无法使用它.
我可以使用iOS 6之前的方法,但肯定有更好的方法来做这么简单的事情吗?
我在网上找不到任何东西,所以害怕我可能会对某些东西感到困惑 - 但搜索起来很困难.
我正在尝试将Material-UI Tabs 组件的高度设置为 32px。我知道这不是一个很好的用户体验想法,但是,我已经解释过,并且客户仍然想要它。
我尝试设置选项卡组件本身的高度。然后放在里面的Tab组件上。后者将高度固定为 32px,但标签太低,因为有一个内部 div(仍然)设置为 48px。
源中的行似乎是:
height: (props.label && props.icon) ? 72 : 48,
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何使用通过 Material-UI 公开的样式和主题来覆盖内部 div。
当将 Shiny 应用程序部署到 Shiny Server 的自托管版本时,是否可以以某种方式“捆绑”应用程序和包?
我的 Shiny 应用程序依赖于我的开发 (RStudio) 环境中安装的一大堆软件包。在部署我的应用程序之前,我是否必须在 Shiny Server 计算机上手动安装这些软件包?
如果我确实必须在 Shiny Server 计算机上安装软件包,我该如何阻止软件包更新破坏现有应用程序?或者我们又回到了旧的“Windows DLL 地狱”类型的问题,即无法隔离共享库?
我知道如何将应用程序部署到/srv/shiny-server/. 这是我不太确定的包依赖关系。
我正在使用R,via Rscript和H2O,但是H2O正在崩溃.我想查看日志,但是当R会话结束时(即当Rscript完成时),包含它们的R tempdir似乎被删除了.
是否可以告诉R/Rscript不要删除它使用的tmp文件夹?
我有一个 Win32 应用程序,它公开一个 REST 端点并显示一个窗口来记录请求。它是用 Delphi 编写的,是 32 位的。
我已经使用 Wine (4.0.4) 在 Ubuntu (20.04) 中运行它。它开箱即用。我创建了一个 32 位前缀并启动它。一切都很好。这是一个干净的 Ubuntu VM,只安装了 Wine。
我现在试图将它放在一个 Docker 容器中,但我无法让它运行。我xvfb-run用来支持用户界面。
当我尝试在我的容器中运行应用程序时,我收到以下消息/警告/错误:
0010:err:ole:marshal_object couldn't get IPSFactory buffer for interface {00000131-0000-0000-c000-000000000046}
0010:err:ole:marshal_object couldn't get IPSFactory buffer for interface {6d5140c1-7436-11ce-8034-00aa006009fa}
0010:err:ole:StdMarshalImpl_MarshalInterface Failed to create ifstub, hres=0x80004002
0010:err:ole:CoMarshalInterface Failed to marshal the interface {6d5140c1-7436-11ce-8034-00aa006009fa}, 80004002
0010:err:ole:get_local_server_stream Failed: 80004002
Run Code Online (Sandbox Code Playgroud)
不过,该应用程序似乎确实启动了。当我向端口 9000(应用程序侦听的端口)发出请求时,我看到报告了更多错误(并且没有得到回复——我关闭了套接字)。这些错误是:
0019:err:ole:CoGetClassObject class {88d96a05-f192-11d4-a65f-0040963251e5} not registered
0019:err:ole:create_server class {88d96a05-f192-11d4-a65f-0040963251e5} not registered
0019:err:ole:CoGetClassObject no class object {88d96a05-f192-11d4-a65f-0040963251e5} could …Run Code Online (Sandbox Code Playgroud) ios ×2
material-ui ×2
r ×2
reactjs ×2
button ×1
code-first ×1
cordova ×1
deployment ×1
docker ×1
icollection ×1
ipad ×1
iphone ×1
knockout.js ×1
logging ×1
redux ×1
rscript ×1
shiny ×1
themes ×1
tmp ×1
uitableview ×1
uitoolbar ×1
wine ×1