【发布时间】:2019-07-31 17:43:27
【问题描述】:
我有一个带有几页的同步融合选项卡控件,它显示在状态变量中设置的值,每当我通过 setstate 更改值时,我希望选项卡中的值得到更新,但不幸的是它不会发生。
我什至设置了 enablePersistence="true" 但没有效果。
如果我将输入字段放在表单中,通过单击测试按钮,它将被新值刷新,而不是选项卡控件中的值。
您的建议将不胜感激。
代码如下:
// --------------------------------------------------------------------------------------
export default class FormDataBinding extends Component {
constructor() {
super(...arguments);
this.state = { name: "name", family: "family" };
this.headertext = [
{ text: "Twitter", iconCss: "e-twitter" },
];
}
// --------------------------------------------------------------------------------------
tabContent1 = () => {
return (
<React.Fragment>
<p>thes controls are inside Tab Component</p>
<div>
{/* it's not working because it's inside tabComponent */}
<input
type="text"
value={this.state.name}
key="nameKey1"
id="nameId1"
style={{ width: "500px" }}
></input>
<br />
<input
type="text"
value={this.state.family}
key="familyID1"
id="familyKey1"
style={{ width: "500px" }}
></input>
<button onClick={this.btnClick.bind(this)}>click hear</button>
</div>
</React.Fragment>
);
};
// --------------------------------------------------------------------------------------
btnClick = () => {
var newName = "name :" + new Date().toTimeString();
var familyName = "family : " + new Date().toTimeString();
this.setState({ name: newName });
this.setState({ family: familyName });
this.UpdateStateInstantly(newName);
this.ShowTabs();
};
// --------------------------------------------------------------------------------------
ShowTabs = () => {
return (
<TabComponent
enablePersistence="true"
heightAdjustMode="Auto"
id="defaultTab"
>
<TabItemsDirective>
{/* ------------< Tab1 >------------- */}
<TabItemDirective
presentation={true}
header={this.headertext[0]}
content={this.tabContent1}
/>
</TabItemsDirective>
</TabComponent>
);
};
// --------------------------------------------------------------------------------------
render() {
return (
<div className="control-pane">
<div className="control-section tab-control-section">
{/*-------------------*/}
<button onClick={this.btnClick.bind(this)}>click here</button>
<br />
{/* //-----------------------------------< Tabs >--------------------- */}
{this.ShowTabs()}
{/* //--------------------------------------------------------------- */}
</div>
</div>
);
}
}
【问题讨论】:
标签: reactjs syncfusion