跳至内容

桥接组件

Web 组件

BridgeComponent 类是 Stimulus 控制器 的扩展。除了以下 Strada 特定的桥接功能之外,你还可以使用标准 控制器 中的所有功能

例如,要创建一个在原生应用程序中显示原生提交按钮的 "form" 组件,你需要向 Web <form> 添加以下控制器、目标和标题属性

<form
method="post"
data-controller="bridge--form">


<!-- form elements -->

<button
class="button"
type="submit"
data-bridge--form-target="submit"
data-bridge-title="Submit">

Submit Form
</button>

</form>

接下来,创建一个名为 "form"BridgeComponent,它向原生组件发送一条消息,其中包含 data,该 data 包含表单的 submitTitle。在原生组件回复消息时提供一个要运行的回调。

// bridge/form_controller.js

import { BridgeComponent, BridgeElement } from "@hotwired/strada"

export default class extends BridgeComponent {
static component = "form"
static targets = [ "submit" ]

submitTargetConnected(target) {
const submitButton = new BridgeElement(target)
const submitTitle = submitButton.title

this.send("connect", { submitTitle }, () => {
target.click()
})
}
}

注意:建议将桥接组件放在 Stimulus 控制器所在的 /bridge 子目录中,以便于识别并将其与其他 Stimulus 控制器隔离。

原生组件

请参阅 hotwired/strada-ioshotwired/strada-android 仓库中关于构建相应原生组件的文档。


下一步:元素