问题描述
我一直在尝试按照此处文档中的说明更改 TopBar 背景颜色:https://polaris.shopify.com/components/structure/app-provider/theme 无济于事。
我错过了什么吗?有什么想法吗?
这是我使用的代码:
import React,{useCallback,useState} from 'react';
import {AppProvider,Avatar,Icon,VisuallyHidden,ActionList,Frame,TopBar} from '@shopify/polaris';
import {ArrowLeftMinor,QuestionMarkMajor} from '@shopify/polaris-icons';
export default function TopBarExample() {
const [isUserMenuOpen,setIsUserMenuOpen] = useState(false);
const [isSecondaryMenuOpen,setIsSecondaryMenuOpen] = useState(false);
const [isSearchActive,setIsSearchActive] = useState(false);
const [searchValue,setSearchValue] = useState('');
const toggleIsUserMenuOpen = useCallback(
() => setIsUserMenuOpen((isUserMenuOpen) => !isUserMenuOpen),[],);
const toggleIsSecondaryMenuOpen = useCallback(
() => setIsSecondaryMenuOpen((isSecondaryMenuOpen) => !isSecondaryMenuOpen),);
const handleSearchResultsdismiss = useCallback(() => {
setIsSearchActive(false);
setSearchValue('');
},[]);
const handleSearchChange = useCallback((value) => {
setSearchValue(value);
setIsSearchActive(value.length > 0);
},[]);
const handleNavigationToggle = useCallback(() => {
console.log('toggle navigation visibility');
},[]);
const theme = {
colors: {
surface: '#FFFFFF',onSurface: '#212B36',interactive: '#da94a4',secondary: '#da94a4',primary: '#da94a4',critical: '#da94a4',warning: '#da94a4',highlight: '#da94a4',success: '#da94a4',decorative: '#da94a4',background: '#da94a4'
},logo: {
width: 124,topBarSource:
'https://cdn.ad360.media/shopify/images/ad360_black_horizontal_300px.png',url: 'https://www.ad360.media',accessibilityLabel: 'Ad360 Shopify App'
},};
const userMenuMarkup = (
<TopBar.UserMenu
actions={[
{
items: [{content: 'Back to Shopify',icon: ArrowLeftMinor}],},{
items: [{content: 'Community forums'}],]}
name="Menadex"
detail="Ad360"
initials="D"
open={isUserMenuOpen}
onToggle={toggleIsUserMenuOpen}
/>
);
const searchResultsMarkup = (
<ActionList
items={[{content: 'Shopify help center'},{content: 'Community forums'}]}
/>
);
const searchFieldMarkup = (
<TopBar.SearchField
onChange={handleSearchChange}
value={searchValue}
placeholder="Search"
showFocusBorder
/>
);
const secondaryMenuMarkup = (
<TopBar.Menu
activatorContent={
<span>
<Icon source={QuestionMarkMajor} />
<VisuallyHidden>Secondary menu</VisuallyHidden>
</span>
}
open={isSecondaryMenuOpen}
onopen={toggleIsSecondaryMenuOpen}
onClose={toggleIsSecondaryMenuOpen}
actions={[
{
items: [{content: 'Community forums'}],]}
/>
);
const topBarMarkup = (
<TopBar
showNavigationToggle
userMenu={userMenuMarkup}
secondaryMenu={secondaryMenuMarkup}
searchResultsVisible={isSearchActive}
searchField={searchFieldMarkup}
searchResults={searchResultsMarkup}
onSearchResultsdismiss={handleSearchResultsdismiss}
onNavigationToggle={handleNavigationToggle}
/>
);
return (
<div style={{height: '250px'}}>
<AppProvider
theme={theme}
i18n={{
Polaris: {
Avatar: {
label: 'Avatar',labelWithInitials: 'Avatar with initials {initials}',Frame: {skipToContent: 'Skip to content'},TopBar: {
toggleMenuLabel: 'Toggle menu',SearchField: {
clearButtonLabel: 'Clear',search: 'Search',}}
>
<Frame topBar={topBarMarkup} />
</AppProvider>
</div>
);
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)