feat(Breadcrumbe): Add Breadcrumb component

style: change function to arrow function
This commit is contained in:
kailong321200875
2022-01-15 14:24:50 +08:00
parent 2fe9543b84
commit 4612e5544b
55 changed files with 586 additions and 270 deletions

View File

@@ -62,7 +62,7 @@ export default defineComponent({
})
// 对表单赋值
function setValues(data: FormSetValuesType[]) {
const setValues = (data: FormSetValuesType[]) => {
if (!data.length) return
const formData: Recordable = {}
for (const v of data) {
@@ -89,7 +89,7 @@ export default defineComponent({
)
// 渲染包裹标签,是否使用栅格布局
function renderWrap() {
const renderWrap = () => {
const content = isCol ? (
<ElRow gutter={20}>{renderFormItemWrap()}</ElRow>
) : (
@@ -99,7 +99,7 @@ export default defineComponent({
}
// 是否要渲染el-col
function renderFormItemWrap() {
const renderFormItemWrap = () => {
// hidden属性表示隐藏不做渲染
return schema
.filter((v) => !v.hidden)
@@ -119,7 +119,7 @@ export default defineComponent({
}
// 渲染formItem
function renderFormItem(item: FormSchema) {
const renderFormItem = (item: FormSchema) => {
// 单独给只有options属性的组件做判断
const notRenderOptions = ['SelectV2', 'Cascader', 'Transfer']
const slotsMap: Recordable = {
@@ -162,7 +162,7 @@ export default defineComponent({
}
// 渲染options
function renderOptions(item: FormSchema) {
const renderOptions = (item: FormSchema) => {
switch (item.component) {
case 'Select':
const { renderSelectOptions } = useRenderSelect(slots)
@@ -181,7 +181,7 @@ export default defineComponent({
}
// 过滤传入Form组件的属性
function getFormBindValue() {
const getFormBindValue = () => {
// 避免在标签上出现多余的属性
const delKeys = ['schema', 'isCol', 'autoSetPlaceholder', 'isCustom', 'model']
const props = { ...unref(getProps) }

View File

@@ -1,8 +1,8 @@
import { ElCheckbox, ElCheckboxButton } from 'element-plus'
import { defineComponent } from 'vue'
export function useRenderChcekbox() {
function renderChcekboxOptions(item: FormSchema) {
export const useRenderChcekbox = () => {
const renderChcekboxOptions = (item: FormSchema) => {
// 如果有别名,就取别名
const labelAlias = item?.componentProps?.optionsAlias?.labelField
const valueAlias = item?.componentProps?.optionsAlias?.valueField

View File

@@ -1,8 +1,8 @@
import { ElRadio, ElRadioButton } from 'element-plus'
import { defineComponent } from 'vue'
export function useRenderRadio() {
function renderRadioOptions(item: FormSchema) {
export const useRenderRadio = () => {
const renderRadioOptions = (item: FormSchema) => {
// 如果有别名,就取别名
const labelAlias = item?.componentProps?.optionsAlias?.labelField
const valueAlias = item?.componentProps?.optionsAlias?.valueField

View File

@@ -2,9 +2,9 @@ import { ElOption, ElOptionGroup } from 'element-plus'
import { getSlot } from '@/utils/tsxHelper'
import { Slots } from 'vue'
export function useRenderSelect(slots: Slots) {
export const useRenderSelect = (slots: Slots) => {
// 渲染 select options
function renderSelectOptions(item: FormSchema) {
const renderSelectOptions = (item: FormSchema) => {
// 如果有别名,就取别名
const labelAlias = item?.componentProps?.optionsAlias?.labelField
return item?.componentProps?.options?.map((option) => {
@@ -25,7 +25,7 @@ export function useRenderSelect(slots: Slots) {
}
// 渲染 select option item
function renderSelectOptionItem(item: FormSchema, option: ComponentOptions) {
const renderSelectOptionItem = (item: FormSchema, option: ComponentOptions) => {
// 如果有别名,就取别名
const labelAlias = item?.componentProps?.optionsAlias?.labelField
const valueAlias = item?.componentProps?.optionsAlias?.valueField

View File

@@ -17,7 +17,7 @@ interface PlaceholderMoel {
* @returns 返回提示信息对象
* @description 用于自动设置placeholder
*/
export function setTextPlaceholder(schema: FormSchema): PlaceholderMoel {
export const setTextPlaceholder = (schema: FormSchema): PlaceholderMoel => {
const textMap = ['Input', 'Autocomplete', 'InputNumber', 'InputPassword']
const selectMap = ['Select', 'TimePicker', 'DatePicker', 'TimeSelect', 'TimeSelect']
if (textMap.includes(schema?.component as string)) {
@@ -53,7 +53,7 @@ export function setTextPlaceholder(schema: FormSchema): PlaceholderMoel {
* @returns 返回栅格属性
* @description 合并传入进来的栅格属性
*/
export function setGridProp(col: ColProps = {}): ColProps {
export const setGridProp = (col: ColProps = {}): ColProps => {
const colProps: ColProps = {
// 如果有span代表用户优先级更高所以不需要默认栅格
...(col.span
@@ -75,7 +75,7 @@ export function setGridProp(col: ColProps = {}): ColProps {
* @param item 传入的组件属性
* @returns 默认添加 clearable 属性
*/
export function setComponentProps(item: FormSchema): Recordable {
export const setComponentProps = (item: FormSchema): Recordable => {
const notNeedClearable = ['ColorPicker']
const componentProps: Recordable = notNeedClearable.includes(item.component as string)
? { ...item.componentProps }
@@ -94,11 +94,11 @@ export function setComponentProps(item: FormSchema): Recordable {
* @param slotsProps 插槽属性
* @param field 字段名
*/
export function setItemComponentSlots(
export const setItemComponentSlots = (
slots: Slots,
slotsProps: Recordable = {},
field: string
): Recordable {
): Recordable => {
const slotObj: Recordable = {}
for (const key in slotsProps) {
if (slotsProps[key]) {
@@ -118,7 +118,7 @@ export function setItemComponentSlots(
* @returns FormMoel
* @description 生成对应的formModel
*/
export function initModel(schema: FormSchema[], formModel: Recordable) {
export const initModel = (schema: FormSchema[], formModel: Recordable) => {
const model: Recordable = { ...formModel }
schema.map((v) => {
// 如果是hidden就删除对应的值
@@ -138,7 +138,7 @@ export function initModel(schema: FormSchema[], formModel: Recordable) {
* @param field 字段名
* @returns 返回FormIiem插槽
*/
export function setFormItemSlots(slots: Slots, field: string): Recordable {
export const setFormItemSlots = (slots: Slots, field: string): Recordable => {
const slotObj: Recordable = {}
if (slots[`${field}-error`]) {
slotObj['error'] = (data: Recordable) => {