我会先说我们正在积极致力于改进扩展框架的文档,所以很抱歉目前它有点不透明!
扩展框架是沙盒的,所以它不能访问一些标准的 javascript API,比如 window.open。要启动一个新窗口,您可以使用
extensionSDK.openBrowserWindow('https://looker.com/', '_blank')
有帮助的完整示例:
import React, { useContext } from 'react'
import { Space, ComponentsProvider, Text, Button } from '@looker/components'
import { ExtensionContext } from '@looker/extension-sdk-react'
export const HelloWorld = () => {
const extensionContext = useContext(
ExtensionContext
)
const { extensionSDK } = extensionContext
const buttonClick = () => {
extensionSDK.openBrowserWindow('https://google.com', '_blank')
}
return (
<>
<ComponentsProvider>
<Space p="xxxxxlarge" width="100%" height="50vh" around>
<Text p="xxxxxlarge" fontSize="xxxxxlarge">
openBrowserWindow example
</Text>
<Button onClick={buttonClick}> click me </Button>
</Space>
</ComponentsProvider>
</>
)
}