From bb4a83e60a01fc296da50710e6e950c7fdf4e705 Mon Sep 17 00:00:00 2001 From: FateRiddle Date: Sat, 30 Nov 2019 12:12:03 +0800 Subject: [PATCH] list now support 'readonly', forbid editting --- src/widgets/antd/list.jsx | 71 +++++++++++++++++++----------------- src/widgets/fusion/list.jsx | 73 +++++++++++++++++++------------------ 2 files changed, 75 insertions(+), 69 deletions(-) diff --git a/src/widgets/antd/list.jsx b/src/widgets/antd/list.jsx index 9a0b2d9..855b262 100644 --- a/src/widgets/antd/list.jsx +++ b/src/widgets/antd/list.jsx @@ -51,7 +51,7 @@ class ListItem extends React.Component { render() { const { item, p = {}, name, fold } = this.props; const descProps = { ...p, index: name }; - const { options = {} } = p; + const { options = {}, readonly } = p; const { foldable: canFold, hideDelete } = options; // 只有当items为object时才做收起(fold)处理 const isObj = p.schema.items && p.schema.items.type == 'object'; @@ -72,8 +72,8 @@ class ListItem extends React.Component { style={{ position: 'absolute', top: 12, right: 36 }} /> )} - - {!((canFold && fold) || hideDelete) && ( + {!readonly && } + {!((canFold && fold) || hideDelete || readonly) && ( - {p.extraButtons && - p.extraButtons.length > 0 && - p.extraButtons.map(item => ( - - ))} - + {!readonly && ( +
+ + {p.extraButtons && + p.extraButtons.length > 0 && + p.extraButtons.map(item => ( + + ))} +
+ )} ); } diff --git a/src/widgets/fusion/list.jsx b/src/widgets/fusion/list.jsx index 10352ed..9310a43 100644 --- a/src/widgets/fusion/list.jsx +++ b/src/widgets/fusion/list.jsx @@ -48,7 +48,7 @@ class ListItem extends React.Component { render() { const { item, p = {}, name, fold } = this.props; const descProps = { ...p, index: name }; - const { options = {} } = p; + const { options = {}, readonly } = p; const { foldable: canFold, hideDelete } = options; // 只有当items为object时才做收起(fold)处理 const isObj = p.schema.items && p.schema.items.type == 'object'; @@ -69,8 +69,8 @@ class ListItem extends React.Component { style={{ position: 'absolute', top: 12, right: 36 }} /> )} - - {!((canFold && fold) || hideDelete) && ( + {!readonly && } + {!((canFold && fold) || hideDelete || readonly) && ( - {p.extraButtons && - p.extraButtons.length > 0 && - p.extraButtons.map(item => ( - - ))} - + {!readonly && ( +
+ + {p.extraButtons && + p.extraButtons.length > 0 && + p.extraButtons.map(item => ( + + ))} +
+ )} ); }