从'react'导入{useState};从“@wordpress/components”导入{QueryControls};常量QUERY_DEFAULTS={类别:1,类别:[{id:1,name:'类别1',父级:0,},{id:2,name:'类别1b',父级:1,},{编号:3,name:'类别2',父级:0,},],最大项目数:20,最小项目数:1,项目数:10,订单:'asc',orderBy:'标题',};const MyQueryControls=()=>{const[query,setQuery]=useState(query_DEFAULTS);const{category,categories,maxItems,minItems,numberOfItems,order,orderBy}=查询;const updateQuery=(newQuery)=>{setQuery({…query,…newQuery});};返回(<查询控件{…{maxItems,minItems,numberOfItems,order,orderBy}}onOrderByChange={(newOrderBy)=>updateQuery({orderBy:newOrderB})}onOrderChange={(newOrder)=>更新查询({order:newOrder})}categoriesList={categorises}selectedCategoryId={category}onCategoryChange={(newCategory)=>updateQuery({category:newCategories})}onNumberOfItemsChange={(newNumberOfItems)=>updateQuery({numberOfItems:newNumberOf2Items})}/>);};
这个查询控件
组件现在支持多类别选择,以取代目前可用的单一类别选择。要启用它,请使用带有新道具的组件:类别建议
代替类别列表
和所选类别
数组而不是所选类别Id
如此:
常量QUERY_DEFAULTS={orderBy:'标题',订单:'asc',所选类别:[{id:1,value:'类别1',父级:0,},{id:2,value:“1b类”,父级:1,},],类别:{“类别1”:{id:1,name:'类别1',父级:0,},“1b类”:{id:2,name:'类别1b',父级:1,},“类别2”:{编号:3,name:“类别2”,父级:0,},},项目数:10,};const MyQueryControls=()=>{const[query,setQuery]=useState(query_DEFAULTS);const{orderBy,order,selectedCategorys,categories,numberOfItems}=查询;const updateQuery=(newQuery)=>{setQuery({…query,…newQuery});};返回(<查询控件{…{orderBy,order,numberOfItems}}onOrderByChange={(newOrderBy)=>updateQuery({orderBy:newOrderB})}onOrderChange={(newOrder)=>updateQuery({order:newOrder})}categorySuggestions={categories}selectedCategories={selectedCategories}onCategoryChange={(category)=>updateQuery({selectedCategories:category})}onNumberOfItemsChange={(newNumberOfItems)=>updateQuery({numberOfItems:newNumberOf2Items})}/>);};
类别列表的格式也需要更新,以匹配类别建议的预期类型。
authorList(作者列表)
:作者[]
要从中选择的作者数组。
类别列表
:类别[]
类别数组。当与关于类别更改
属性,它使组件呈现允许一次选择一个类别的UI。
类别建议
:记录<类别[“名称”],类别>
以类别名称为键的类别对象。当与关于类别更改
属性,它使组件呈现支持多重选择的UI。
maxItems(最大项目数)
:数
最大项目数。
最小项目数
:数
最小项目数。
项目数
:数
要通过查询检索的选定项目数。
关于作者更改
:(newAuthor:string)=>void
接收新作者值的函数。如果未指定,则不会呈现作者控件。
关于类别更改
:(newCategory:string)=>void|FormTokenFieldProps['onChange']
接收新类别值的函数。如果未指定,则不会呈现类别控件。
函数的签名会根据是否启用了多类别选择而更改。
OnNumberOfItems更改
:(newNumber?:number)=>无效
接收新项目数的函数。如果未指定,则不会呈现项目数范围控件。
订单变更
:(newOrder:'asc'|'desc')=>无效
接收新订单值的函数。如果此道具或按更改排序
属性,则不呈现顺序控件。
按更改排序
:(newOrderBy:“date”|“title”)=>无效
接收新orderby值的函数。如果此道具或订单变更
属性,则不呈现顺序控件。
秩序
:“asc”|“desc”
检索帖子的顺序。
订购依据
:“日期”|“标题”
用于排序帖子的元键。
选择的作者ID
:数
所选作者ID。
选定的类别
:类别[]
选定的类别类别建议
道具。
所选类别Id
:数
选定的类别类别列表
道具。