0.5.5 • Published 5 months ago
@moln/data-source v0.5.5
data-source
便捷性管理集合数据状态操作,用于 vue, react 等视图应用库
依赖
- mobx
- axios
安装
npm install @moln/data-source或者使用 yarn
yarn add @moln/data-source使用
const resources = new Resources()
const dataSource = resources.create("/api/users")
dataSource.fetch(); // GET /api/users
console.log(dataSource.data) // Response collections
const item = dataSource.get(1) // Get item by primary
item.name = "foo"
// Sync changes
dataSource.sync()
// PATCH /api/users/1
// Body: {"name":"foo"}React + Mobx
import {Table, Button} from 'antd'
import {observer} from "mobx-react-lite"
const useDataSource = (resource) => {
/// Request restful resource
return useMemo(() => (new Resources()).createDataSource(`/api/${resource}`), []);
// Array data source
// return useMemo(() => (new Resources()).createDataSource([
// {id: 1, name: 'Tom', score: 3},
// {id: 2, name: 'Jerry', score: 4},
// ]), []);
}
const App = observer(() => {
const ds = useDataSource("users")
const handleDelete = (row) => {
ds.remove(row)
ds.sync() // Sync data source changes, request `DELETE /users/{id}`
}
const handleIncrScore = (row) => {
row.score++
ds.sync() // Sync data source changes, request `PATCH /users/{id}`, body: `{"score": 3}`
}
return (
<Table
rowKey={ds.primary}
dataSource={ds.data}
loading={ds.loading}
columns={[
{
dataIndex: 'id',
title: '#',
},
{
dataIndex: 'name',
title: 'Name',
},
{
dataIndex: 'score',
title: 'score',
},
{
render: (row) => {
return <Button onClick={() => handleIncrScore(row)}>Incr</Button>
return <Button loading={ds.loadings.syncing} onClick={() => handleDelete(row)}>Delete</Button>
}
},
]}
/>
)
})0.5.4
5 months ago
0.5.3
5 months ago
0.5.5
5 months ago
0.5.0
5 months ago
0.5.2
5 months ago
0.5.1
5 months ago
0.4.5
3 years ago
0.4.4
3 years ago
0.4.3
3 years ago
0.4.2
3 years ago
0.4.1
4 years ago
0.4.0
4 years ago
0.3.17
4 years ago
0.3.20
4 years ago
0.3.19
4 years ago
0.3.18
4 years ago
0.3.16
4 years ago
0.3.15
4 years ago
0.3.14
4 years ago
0.3.13
4 years ago
0.3.12
4 years ago
0.3.11
4 years ago
0.3.10
4 years ago
0.3.9
4 years ago
0.3.8
4 years ago
0.3.7
4 years ago
0.3.6
4 years ago
0.3.5
4 years ago
0.3.4
4 years ago
0.3.3
4 years ago
0.3.2
4 years ago
0.3.1
4 years ago
0.3.0
4 years ago
0.2.13
4 years ago
0.2.12
4 years ago
0.2.11
4 years ago
0.2.10
4 years ago
0.2.9
4 years ago
0.2.8
4 years ago
0.2.7
4 years ago
0.2.6
4 years ago
0.2.5
4 years ago
0.2.3
4 years ago
0.2.4
4 years ago
0.2.1
4 years ago
0.2.2
4 years ago
0.2.0
4 years ago
0.1.4
5 years ago
0.1.3
5 years ago
0.1.2
5 years ago
0.1.1
5 years ago
0.1.0
5 years ago