当前位置: 首页 > news >正文

做自己的卡盟网站百度推广热线电话

做自己的卡盟网站,百度推广热线电话,企业网上年审营业执照,宝鸡企业网站建设之前写过一篇文章用来向content内容脚本注入antd的ui:https://xiaoshen.blog.csdn.net/article/details/136418199,但是方法就是比较繁琐,需要将antd的样式拷贝出来,然后贴到一个单独的css样式文件中,然后引入到内容脚…

之前写过一篇文章用来向content内容脚本注入antd的ui:https://xiaoshen.blog.csdn.net/article/details/136418199,但是方法就是比较繁琐,需要将antd的样式拷贝出来,然后贴到一个单独的css样式文件中,然后引入到内容脚本中。但是细心的网友给出了一个评论,说官方有现成的引入方式,把我开心坏了,赶紧研究一下:https://github.com/PlasmoHQ/examples/blob/main/with-antd/content.tsx

环境准备

需要使用antd5.0以后的版本,并且需要单独使用GitHub - ant-design/cssinjs这个依赖库,需要先安装:

npm install @ant-design/cssinjsyarn add @ant-design/cssinjspnpm add @ant-design/cssinjs

引入到content

需要注意,先按部就班的使用官方给的demo走一遍比较安全:

import { StyleProvider } from "@ant-design/cssinjs"
import Button from "antd/es/button"
import antdResetCssText from "data-text:antd/dist/reset.css"
import type { PlasmoCSConfig, PlasmoGetShadowHostId } from "plasmo"import { ThemeProvider } from "~theme"export const config: PlasmoCSConfig = {matches: ["https://www.plasmo.com/*"]
}const HOST_ID = "engage-csui"export const getShadowHostId: PlasmoGetShadowHostId = () => HOST_IDexport const getStyle = () => {const style = document.createElement("style")style.textContent = antdResetCssTextreturn style
}const EngageOverlay = () => (<ThemeProvider><StyleProvider container={document.getElementById(HOST_ID).shadowRoot}><Button type="primary">Engage</Button></StyleProvider></ThemeProvider>
)export default EngageOverlay

注意:

里面引入了这几个比较重要的内容

import { StyleProvider } from "@ant-design/cssinjs"
import Button from "antd/es/button"
import antdResetCssText from "data-text:antd/dist/reset.css"

import type { PlasmoCSConfig, PlasmoGetShadowHostId } from "plasmo"

StyleProvider: 样式提供器,用于将antd的css样式注入到组件上,一个提供器里面只能包裹一个组件。

Button: antd的按钮组件,

antdResetCssText: antd的css样式文件,文本形式,这个后面可以自己定义的css样式做加法。

PlasmoGetShadowHostId: 用于定位antd的元素

比如我这里真实使用场景:样式已经出来了

引发的问题

1.因为getStyle只能写一个,所以如果引入了antdResetCssText,自定义的css样式该如何引入?

可以在getStyle中做加法处理,比如我自己定义的css文件是cssText:

import cssText from 'data-text:~/contents/index.scss'
import antdResetCssText from 'data-text:antd/dist/reset.css'// load style file
export const getStyle = () => {const style = document.createElement('style')style.textContent = antdResetCssText + cssTextreturn style
}

2.StyleProvider下面可以一下包裹多个antd的组件吗?

不可以,只能一个一个包裹使用:

                   <StyleProvidercontainer={document.getElementById(HOST_ID).shadowRoot}><SelectdefaultValue={juejinCategory[0].category_id}style={{ width: 110 }}onChange={cateChange}options={cates}/></StyleProvider>

3.后面有问题再补充.......

http://www.dt0577.cn/news/15333.html

相关文章:

  • 网络营销做女鞋的网站设计网站推广关键词排名优化
  • 设计一站式服务长沙网络推广外包
  • 芜湖做的好的招聘网站seo运营专员
  • 营商环境建设监督局网站免费推广网站大全集合
  • 安卓应用开发环境seo公司赚钱吗
  • 东莞网站推广优化seo文章关键词怎么优化
  • 自己做刷东西的网站美工培训
  • ppt素材网站建设流程图宁德市疫情
  • 免费做名片的网站下载优化大师app
  • 网站赌博做任务佣金违法怎么做小说推广挣钱
  • 网站设计算什么费用真实的优化排名
  • 廊坊网站推广外包怎么利用互联网推广
  • phpcms 网站 关闭外包seo服务收费标准
  • 公司网站域名申请流程千峰培训
  • 漯河网站建设b站视频推广app
  • 西樵乐从网站建设网络营销的四种方式
  • 手机网站建设动态学习软件
  • 传媒大学附近网站建设公司厦门百度竞价推广
  • 深圳较便宜的网站建设合肥网络推广营销
  • 网站建设小程序定制开发百度优化seo
  • wordpress微网站女性广告
  • 东莞市个性网站建设设计企业b2b平台排名
  • 动态网站建设作业网络广告策划
  • 美橙互联网站建设案例企业员工培训课程
  • 织梦做企业网站教程seo是什么意思电商
  • 北京公司网站制作费用厦门seo网站管理
  • 成都建站提供商我也要投放广告
  • 简历旅游网站开发经验网络营销工程师
  • 彩票网站开发彩票网站搭建产品营销策划
  • 软件公司做网站广州网站排名推广