• 「B/S端开发」DevExtreme初级入门教程(React篇) 状态管理


    DevExtreme React 组件可以在受控和非受控状态管理模式下运行。

    DevExtreme v21.2.3最新版下载

    受控模式

    在受控模式下,父React组件更新DevExtreme组件的状态。它应该通过属性将新值传递给DevExtreme组件,就像以下代码中TextBox组件的value属性一样。

    DevExtreme组件引发事件,您应该处理这些事件以更新父组件的状态。仅当用户与组件交互时才会引发这些事件,而不会在您以编程方式更新属性值时引发。 每个事件名称都基于属性名称,例如,value 属性的事件是 onValueChange。 事件处理程序接受一个新的属性值作为参数:

    App.js

    import React from 'react';
    
    import 'devextreme/dist/css/dx.light.css';
    
    import TextBox from 'devextreme-react/text-box';
    
    class App extends React.Component {
    constructor(props) {
    super(props);
    this.state = {
    text: 'TEXT'
    };
    
    this.handleValueChange = this.handleValueChange.bind(this);
    }
    
    render() {
    return (
    <div>
    <TextBox
    value={this.state.text}
    onValueChange={this.handleValueChange}
    valueChangeEvent="input"
    />
    <br />
    <div>{this.state.text}</div>
    </div>
    );
    }
    
    handleValueChange(value) {
    this.setState({
    text: value.toUpperCase()
    });
    }
    }
    
    export default App;
    非受控制模式

    在非受控制的模式下,DevExtreme组件维护和更新自己的状态。

    要在此模式下指定初始属性值,请将默认前缀添加到属性名称。 在下面的示例中,defaultCurrentDate 属性用于定义 currentDate 属性的初始值。

    App.js

    import React from 'react';
    
    import 'devextreme/dist/css/dx.light.compact.css';
    
    import Scheduler from 'devextreme-react/scheduler';
    
    const appointments = [{
    text: 'Website Re-Design Plan',
    startDate: new Date(2019, 4, 22, 9, 30),
    endDate: new Date(2019, 4, 22, 11, 30)
    }, {
    text: 'Book Flights to San Fran for Sales Trip',
    startDate: new Date(2019, 4, 22, 12, 0),
    endDate: new Date(2019, 4, 22, 13, 0),
    allDay: true
    }, {
    text: 'Install New Router in Dev Room',
    startDate: new Date(2019, 4, 23, 10, 30),
    endDate: new Date(2019, 4, 23, 16, 30)
    }];
    
    class App extends React.Component {
    render() {
    return (
    <Scheduler
    dataSource={appointments}
    height={600}
    editing={false}
    defaultCurrentDate={new Date(2019, 4, 22)}
    startDayHour={9}
    />
    );
    }
    }
    
    export default App;

    DevExtreme | 下载试用

    DevExtreme拥有高性能的HTML5 / JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NET Core,jQuery,Knockout等)构建交互式的Web应用程序。从Angular和Reac,到ASP.NET Core或Vue,DevExtreme包含全面的高性能和响应式UI小部件集合,可在传统Web和下一代移动应用程序中使用。 该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。


    DevExpress技术交流群5:742234706      欢迎一起进群讨论

    更多DevExpress线上公开课、中文教程资讯请上中文网获取

  • 相关阅读:
    ucore 物理内存探测 lab2 附录A&B
    git diff 笔记
    操作系统Lab1 详解(boot|kern/debug)
    ucore os 前初始化
    第五讲 计算机体系结构 内存层次
    Django 的学习(1) 从建立到数据库操作
    ucore os 初始化
    操作系统 Lab1
    makefile 语法笔记 3
    flex布局注意事项
  • 原文地址:https://www.cnblogs.com/AABBbaby/p/15543052.html
Copyright © 2020-2023  润新知