make network request in mobx[failed version]
来源:互联网 发布:淘宝9.9包邮怎么赚钱 编辑:程序博客网 时间:2024/06/12 00:25
/*browserify src/pwadmin/static/pwadmin/accounts/register_user.jsx -t babelify > src/pwadmin/static/pwadmin/accounts/register_user.min.js */import React from 'react';import ReactDOM from 'react-dom';import {observable, computed, autorun, reaction, action} from "mobx";import {observer} from 'mobx-react';const filter_s = { padding: 0,};class QueryStore { @observable query_set = []; @observable object_list = []; constructor() { autorun(() => console.log(this.object_list, "object_list")); reaction(() => this.data(), data => {this.fetObjects(data)}) } data() { const data = {}; this.query_set.map(function (obj, index) { if (obj.selected) { data[obj.field_name] = obj.selected; } }); return data; } @action fetObjects(data) { $.ajax({ url: url, method: 'GET', data: data }).done(this.done).fail(this.fail) } @action.bound done(data, status, xhr) { this.object_list = data.data.list; } @action.bound fail(qXHR, textStatus, errorThrown) { alert(textStatus); console.log(errorThrown); } loadQuerySet(querys) { this.query_set = querys || [ { verbose_name: '性别', field_name: 'gender', selected: '', values: [ {value: '', verbose_name: '无限制'}, {value: 'male', verbose_name: '男'}, {value: 'female', verbose_name: '女'}, ] }, { verbose_name: '时间', field_name: 'time', selected: '', values: [ {value: '', verbose_name: '无限制'}, {value: '1', verbose_name: '今天'}, {value: '7', verbose_name: '7天内'}, {value: '30', verbose_name: '30天内'}, {value: 'specified', verbose_name: '指定'}, ] }, { verbose_name: '喜欢', field_name: 'like', selected: '', values: [ {value: '', verbose_name: '无限制'}, {value: 'specified', verbose_name: '指定'}, ] }, { verbose_name: '被喜欢', field_name: 'liked', selected: '', values: [ {value: '', verbose_name: '无限制'}, {value: 'specified', verbose_name: '指定'}, ] }, { verbose_name: '投喂', field_name: 'feed', selected: '', values: [ {value: '', verbose_name: '无限制'}, {value: 'specified', verbose_name: '指定'}, ] }, { verbose_name: '收获', field_name: 'harvest', selected: '', values: [ {value: '', verbose_name: '无限制'}, {value: 'specified', verbose_name: '指定'}, ] }, ] }}/** * query Component. * @param queryItem: * queryItem is object -> { * verbose_name: '', * field_name: '', * selected: '', * values: [{verbose_name: '', value: ''}]} */@observerclass QueryView extends React.Component { constructor(props) { super(props); this.handleClick = this.handleClick.bind(this); } handleClick(event) { const queryItem = this.props.queryItem; const $target = $(event.target); queryItem.selected = $target.data('value'); } render() { const queryItem = this.props.queryItem; return <div> <h4 className="card-title">By {queryItem.verbose_name}</h4> <div className="list-group"> {queryItem.values.map((i, index) => { return <a href="#" key={index} className={"list-group-item " + (queryItem.selected == i.value ? 'active' : 'list-group-item-action')} style={filter_s} data-value={i.value} onClick={this.handleClick} >{i.verbose_name}</a> })} </div> </div> }}@observerclass ListView extends React.Component { render() { const data = this.props.object_list; if (!$.isEmptyObject(data)) { return <div> <div> <div className="actions"> <label>Action: <select name="action" required="" defaultValue=""> <option value="">---------</option> <option value="delete_selected">Delete selected pw managers</option> </select></label><input type="hidden" name="select_across" value="0" className="select-across"/> <button type="submit" className="button" title="Run the selected action" name="index" value="0"> Go </button> <span className="action-counter" data-actions-icnt="45" style={{display: "inline"}}>0 of 45 selected</span> </div> </div> <table className="table table-striped"> <thead> <tr> <th>头像</th> <th>陪我号</th> <th>昵称</th> <th>登录类型</th> <th>口粮</th> <th>粮票</th> <th>喜欢</th> <th>被喜欢</th> <th>投喂</th> <th>收获</th> <th>注册时间</th> <th>登录时间</th> </tr> </thead> <tbody> {data.map( (item, index) => { return <tr key={index}> <th><img src={"https://o6dq1o4az.qnssl.com/" + item.raw_images + "/thumbnail"} style={{width: 60 + 'px'}}/></th> <th>{item.uid}</th> <th>{item.name}</th> <th>{item.social_type}</th> <th>{item.change}</th> <th>{item.money}</th> <th>{item.contact_like}</th> <th>{item.contact_liked}</th> <th>{item.money_paid}</th> <th>{item.money_income}</th> <th>{item.signup_time}</th> <th>{item.signin_time}</th> </tr> }) } </tbody> </table> </div> } return <div></div> }}@observerclass RegisterUser extends React.Component { constructor(props) { super(props); } componentWillMount() { const store = this.props.store; store.loadQuerySet(); } render() { const store = this.props.store; return <div> <ol className="breadcrumb"> <li className="breadcrumb-item"><a href="#">Home</a></li> <li className="breadcrumb-item"><a href="#">用户</a></li> <li className="breadcrumb-item active">注册用户</li> </ol> <div className="row"> <div className="col-9"> <div> <form> <div className="form-group row"> <div className="col-sm-10"> <input type="text" className="form-control" id="like-min" name="like-min" placeholder="请输入陪我ID/请输入陪我昵称/请输入电话号码"/> </div> <div className="col-sm-2"> <input type="submit" className="form-control" id="like-min" name="like-min" value="搜索"/> </div> </div> </form> </div> {<ListView object_list={store.object_list}/>} </div> <div className="col-3"> <div className="card"> <div className="card-header"> Filter </div> <div className="card-body"> {store.query_set.map(function (obj, index) { return <QueryView key={index} queryItem={obj} /> })} </div> </div> </div> </div> </div> }}// ========================================ReactDOM.render( <RegisterUser store={new QueryStore()}/>, document.getElementById('root'));
阅读全文
0 0
- make network request in mobx[failed version]
- Network Request Failed
- clojure-jack-in : error in process filter: open-network-stream: make client process failed: Connecti
- failed to open stream: HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported in
- RN--TypeError:Network request failed
- rn出现network request failed
- react native fect network request failed
- React Native Network Request Failed解决方案
- 有关react-native POST请求造成Network request failed解决方法
- Make an AJAX request using $.ajax in MVC 4
- qt 之 Creating an HTTP network request in Qt Overview
- ReactNativeiOS(三)开发零碎1 Fetch错误Network request failed
- 解决react native使用fetch函数在ios9报network request failed的问题
- react native下fetch ios9报network request failed的问题
- 【问题处理】Mac上React Native的fetch请求报错Network request failed解决办法
- HTTP request failed! HTTP/1.1 505 HTTP Version Not Supported error
- Network In Network(精读)
- Network In Network(精读)
- TP5 在JS中判断变量是为空(即在JS中写PHP代码)
- printk打印等级
- Liunx RedHat安装系统自带YUM步骤
- jmter接口测试的的笔记(一点点)
- Hibernate 一对一关联映射对象 级联增删改查示例
- make network request in mobx[failed version]
- 多个数字的公共最大公倍数的两种实现方式
- libevent数据结构尾队列
- 判断屏幕滚动距离
- 剑指Offer题目1523:从上往下打印二叉树
- 对话 | 阿里AI Labs赚的钱连电费都不够交,但浅雪说一点都不担心
- 《剑指offer》刷题笔记(代码的鲁棒性):反转链表
- 华为AI旗舰机Mate10发布 现场11次叫板iPhone【附余承东PPT】
- 小米投230亿建武汉总部 雄安新区出行将靠无人车