数据增删改查以及表示
新建/修改数据:
1) 利用lightning-record-form标签。
下面的例子中,可以根据fields获取要表示的对象,并在页面表示。
表示形式为:标签名 根据数据形式展示(例:用户名 文本框)
在所有表示项目的最下方会显示保存/放弃按钮。
例:
HTML:
<lightning-record-form if:false={edit} 编辑/创建判断,此条件成立,编辑不表示
object-api-name={objName}
fields={fields}
onsuccess={handleSuccess} 点击保存时的方法
oncancel={popupClose}> 放弃时的方法
</lightning-record-form>
<lightning-record-form if:true={edit}编辑/创建判断,此条件成立,新建不表示
record-id={recordid} 需要编辑数据的ID(新建对象时自动生成,须在后台获取)
object-api-name={objname}
fields={fields}
mode="edit" 标明为编辑
onsuccess={handleSuccess}
oncancel={popupClose}>
</lightning-record-form>
JS:
import { LightningElement , api } from 'lwc'; import OBJECT_NAME from '@salesforce/schema/对象名'; import NAME_FIELD from '@salesforce/schema/对象名.字段名';
export default class TestChild extends LightningElement {
objName = OBJECT_NAME;
fields = [NAME_FIELD,略];
}
如果只是作为内容展示,可以直接用以下方式:
HTML:(variant="label-hidden"为不显示标签)
<lightning-record-view-form
record-id={recordId}
object-api-name="对象名">
<lightning-output-field field-name="字段名" variant="label-hidden"></lightning-output-field>
</lightning-record-view-form>
删除/表示数据
需要APEX的支持
连接APEX
Js中添加如下代码:
import 方法名(自定义) from '@salesforce/apex/cls名.方法名';
对应的js方法中调用上记方法名(自定义):
方法名(自定义)({cls方法参数名: 参数, 略})
如果不需自定义方法,获取数据:
Js中添加如下代码:
import { LightningElement, wire } from 'lwc';
import { getRecord } from 'lightning/uiRecordApi';也可使用上记自定义方法
const fields = [
'对象名.字段名',
略
];需要获取的字段
export default class test extends LightningElement {
recordId;
@wire(getRecord, { recordId: '$recordId', fields })也可参照上记自定义的写法
record; 同时获取recordId 也可写为以下方式
/* 和上记区别在于下面的写法可以对取得的数据进行编辑,上记获取的结果集为record.data,以下可以直接获取结果集
getRecord({ error, data }) {
if (error) {
// TODO: handle error
} else if (data) {
// TODO:
}];
}
}
*/
}