我有一个与函数'connect'和表示组件有关的奇怪问题
import React from 'react';
import { withRouter } from 'react-router';
import { connect } from 'react-redux';
import * as optionGroupActions from 'actions/optionGroupActions';
import OptionGroupForm from 'components/optionGroup/OptionGroupForm';
const mapDispatchToProps = (dispatch, ownProps) => {
return {
saveOptionGroup: (optionGroup) => {
dispatch(optionGroupActions.fetchSaveOptionGroup(optionGroup));
},
onClickCancel: () => {
ownProps.router.push('/product/options');
}
};
};
const OptionGroupAddContainer = connect(
null,
mapDispatchToProps
)(OptionGroupForm);
export default OptionGroupAddContainer;
Run Code Online (Sandbox Code Playgroud)
这有效,但如果我用这个更改导入
import { OptionGroupForm } from 'components’;
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
connect.js:57Uncaught TypeError: Cannot read property 'displayName' of undefined
Run Code Online (Sandbox Code Playgroud)
components/index.js看起来像
// OptionGroups
import …Run Code Online (Sandbox Code Playgroud) 我想以编程方式向RadioGroup添加边距或填充但不起作用.
单选按钮:
<RadioButton xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/ic_fruit"
android:button="@null"
android:checked="false" />
Run Code Online (Sandbox Code Playgroud)
RadioGroup中:
<RadioGroup
android:id="@+id/radio_group"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal">
</RadioGroup>
Run Code Online (Sandbox Code Playgroud)
Java代码:
RadioButton radioButtonView = (RadioButton) getActivity().getLayoutInflater().inflate(R.layout.radio_button, null);
radioGroup.addView(radioButtonView);
Run Code Online (Sandbox Code Playgroud)
我试图用LayoutParams和dividerPadding,但它不工作
我尝试在 EJS 上使用我的局部变量。它只是一个检查用户是否已连接的变量。-> 就像此链接上的最后一篇文章一样: 如何知道用户是否使用 Passport.js 登录?
所以,
应用程序.js
app.use(function (req, res, next) {
res.locals.login = req.isAuthenticated();
next();
});
Run Code Online (Sandbox Code Playgroud)
查看EJS
<% if (login) { %>
<div id="subMenuUser">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown">
</span>Menu<span class="caret"></span>
</button>
<ul class="dropdown-menu pull-right" role="menu">
<li><a href="#" role="menuitem">Menu Item 1</a></li>
<li><a href="#" role="menuitem">Menu Item 2</a></li>
<li><a href="#" role="menuitem">Menu Item 3</a></li>
</ul>
</div>
</div>
<% } %>
Run Code Online (Sandbox Code Playgroud)
我收到错误:
login is not defined
Run Code Online (Sandbox Code Playgroud)
我想在所有视图中使用这个变量..可能吗?
在使用此方法之前,我每次都会在渲染中发送变量,如下所示:
res.render('ad/index', { login: req.session.user });
Run Code Online (Sandbox Code Playgroud) 我想在同一行上有两个 textView。下面你可以看到我的String对象长和短时的交互作用。
我正在尝试在 android xml 视图中执行此操作。
(当第一个文本很短时,第二个文本必须留在第一个文本的右侧)
这是我的代码:
<LinearLayout
android:layout_width="0dp"
android:layout_height="35dp"
android:layout_weight="1"
android:gravity="start|center_vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:paddingRight="40dp"
android:scrollHorizontally="true"
android:text="TextView long"
android:textColor="@android:color/white"
android:textSize="15sp" />
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:maxLines="1"
android:text="Text"
android:textColor="@android:color/white"
android:textSize="15sp" />
</RelativeLayout>
</RelativeLayout>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我的问题是我的第二个文本“文本”每次都保留在正确的父级上......
当我使用setOnNavigationItemSelectedListener冻结BottomNavigationView波纹效果时,如下面的屏幕截图所示。并且效果状态一直保持这样。
我不明白为什么?
我在用着com.android.support:design:27.1.1
binding = DataBindingUtil
.setContentView(this, R.layout.activity_main)
bottomBar = binding?.bottomBarNavigation as BottomNavigationView
bottomBar?.setOnNavigationItemSelectedListener {
when (it.itemId) {
TabBarObject.TAB_MESSENGER -> replaceFragment(
MessengerFragment(),
TabBarObject.TAB_MESSENGER.tabName
)
...
...
}
}
private fun getTabInfo(menuItemId: Int): TabBarObject {
return when (menuItemId) {
R.id.tab_messenger -> TabBarObject.TAB_MESSENGER
...
...
else -> throw IllegalArgumentException("UNKNOWN TAB BAR TYPE")
}
}
private fun replaceFragment(fragment: Fragment, tag: String): Boolean {
val ft = supportFragmentManager.beginTransaction()
ft.replace(R.id.frame_layout, fragment, tag)
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE)
ft.commitAllowingStateLoss()
return true
}
Run Code Online (Sandbox Code Playgroud)
活动主文件
<?xml version="1.0" …Run Code Online (Sandbox Code Playgroud) android ×3
ecmascript-6 ×1
ejs ×1
java ×1
javascript ×1
kotlin ×1
node.js ×1
reactjs ×1
redux ×1
templates ×1